Html5 布局方式

时间:2024-01-10 15:20:50

在Html5之前,统一采用的是Div+css的方式进行布局,但是却和开发人员的命名方式,喜好有关。在新的Html5中,布局却显得更加人性化,更易理解了。如增加了Header,Footer,Section,Aside标签,很容易一眼就知道对应的功能是什么。布局效果如下:

Html5 布局方式

涉及的元素,说明如下:HTML5 提供的新语义元素定义了网页的不同部分:

HTML5 语义元素

header

定义文档或节的页眉

nav

定义导航链接的容器

section

定义文档中的节

article

定义独立的自包含文章

aside

定义内容之外的内容(比如侧栏)

footer

定义文档或节的页脚

details

定义额外的细节

summary

定义 details 元素的标题

具体不多说,布局对应的Html代码如下:

 <!DOCTYPE html>
<html>
<head>
<title>关于Web页的Html5布局</title>
<style type="text/css">
header
{
background-color:orange;
color:White;
text-align:center;
height:120px;
padding:5px;
}
nav
{
line-height:30px;
background-color:Lime;
height:400px;
width:15%;
float:left;
padding:0px;
}
aside
{
background-color:Gray;
width:15%;
height:400px;
float:right;
padding:0px;
}
section
{
width:70%;
height:400px;
background-color:Purple;
float:left;
padding:0px;
}
footer
{
background-color:Fuchsia;
height:120px;
color:White;
clear:both;
text-align:center;
padding:5px;
}
ul
{
list-style-type:none;
}
.sp
{
width:15px;
padding:5px;
}
a
{
text-decoration:blink;
}
</style>
</head>
<body>
<header>
<h1>这里是Header,一号标题</h1>
<div>
<a href="#">菜单1</a><span class="sp">|</span>
<a href="#">菜单2</a><span class="sp">|</span>
<a href="#">菜单3</a><span class="sp">|</span>
<a href="#">菜单4</a><span class="sp">|</span>
<a href="#">菜单4</a><span class="sp">|</span>
<a href="#">菜单5</a><span class="sp">|</span>
<a href="#">菜单6</a><span class="sp">|</span>
<a href="#">菜单7</a><span class="sp">
</div>
</header>
<nav>
<ul>
<li><a href="#">链接1</a></li>
<li><a href="#">链接2</a></li>
<li><a href="#">链接3</a></li>
<li><a href="#">链接4</a></li>
</ul>
</nav>
<section>
<h1>
这里是正文</h1>
<p>
这里是段落1</p>
<p>
这里是段落2</p>
</section>
<aside>
<h1>
这里是侧边框</h1>
<p>
这里是段落1</p>
<p>
这里是段落2</p>
</aside>
<footer>
这里是页脚
</footer>
</body>
</html>

关于Padding , Border,Margin之间的关系,如下图所示:

Html5 布局方式

关于样式的层叠顺序

当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?

一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。

  1. 浏览器缺省设置
  2. 外部样式表
  3. 内部样式表(位于 <head> 标签内部)
  4. 内联样式(在 HTML 元素内部)

因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明:<head> 标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。