三种传统PC端⽹⻚布局⽅式:
(1)传统的DIV+CSS布局
(2)HTML5+CSS3布局
(3)响应式布局
1. DIV+CSS布局
此种布局是⽹⻚的HTML通过DIV标签+CSS样式表代码开发制作的(HTML)⽹⻚的统称。
DIV+CSS布局好处:便于维护,有利的SEO(⾕歌将⽹⻚打开速度作为排名因素及SEO因素),
⽹⻚打开速度还原,符合web标准等。
案列
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>DIV+CSS传统网页布局</title><style>/*公共的css样式*/*{margin:0px;padding:0px}a{text-decoration: none;}ul{list-style:none;}/*页面头部样式*/#header{position:fixed;top:0px;width:100%;border-bottom:1px solid #46474a;}#header .header-nav{height:80px;width:1200px;background-color: goldenrod;margin:0px auto;}/*页面导航样式*/#nav{height:60px;margin-top:81px;background-color:#46474a;}/*页面主体样式*/#container{width:100%;}#container .content{width:1200px;margin:0px auto;margin-top:50px;}#container .content .main{width:950px;margin:0px auto;}/*页面主体中的电影排行列表样式*/#container .content .main ul li{display:block;height:220px;line-height:220px;width:100%;margin-bottom:20px;border:1px dashed #f60;}.main ul li .info{height:100%;width:680px;float:right;background-color:snow;border-bottom:1px solid #aaa;}.main ul li .info .info-right{width:80px;height:80px;border:1px dashed orange;float: right;margin-top:70px;}.main ul li .info .info-left{width:300px;height:120px;border:1px dashed orange;margin-top:50px;}.main ul li .ids{height:50px;width:50px;margin-top:85px;margin-bottom:85px;background-color:orange;display:inline-block;}.main ul li .pic{height:200px;width:160px;margin:10px 25px;border:1px dashed green;display: inline-block;}/*页面尾部样式*/#footer{height:300px;background-color:#46474a;}</style></head><body><!-- 网页头部开始 --><div id="header"><div class="header-nav"><h2>使用div+CSS布局实现《猫眼电影》榜单排行界面的布局效果</h2>网址:https://maoyan.com/board</div></div><!-- 网页头部结束 --><!-- 导航开始 --><div id="nav"></div><!-- 导航结束 --><!-- 页面主体开始 --><div id="container"><div class="content"><div class="main"><!-- 电影排行列表开始 --><ul><li><div class="info"><div class="info-right"></div><div class="info-left"></div></div><div class="ids"></div><div class="pic"></div></li><li><div class="info"><div class="info-right"></div><div class="info-left"></div></div><div class="ids"></div><div class="pic"></div></li><li><div class="info"><div class="info-right"></div><div class="info-left"></div></div><div class="ids"></div><div class="pic"></div></li><li><div class="info"><div class="info-right"></div><div class="info-left"></div></div><div class="ids"></div><div class="pic"></div></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><!-- 电影排行列表结束 --></div></div></div><!-- 页面主体结束 --><!-- 页面尾部开始 --><div id="footer"></div><!-- 页面主体结束 --></body></html>
2. HTML5+CSS3布局
HTML5 可以让很多更语义化的结构化代码标签代替⼤量⽆意义的 div 标签
1. 这种语义化的特性提升了⽹⻚的质量和语义
2. 减少了以前⽤于CSS 调⽤的class 和 id 属性
对搜索引擎的友好 新的结构标签带来的是⽹⻚布局的改变及提升对搜索引擎的友好。
HTML5的新标签元素有:
<header> 定义⻚⾯或区段的头部;
<footer> 定义⻚⾯或区段的尾部;
<nav> 定义⻚⾯或区段的导航区域;
<section> ⻚⾯的逻辑区域或内容组合;
<article> 定义正⽂或⼀篇完整的内容;
<aside> 定义补充或相关内容;

注意:使⽤HTML5 语义化标签的布局模式在IE9以下浏览器不兼容,可使⽤下⾯的代码解决。
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"
type="text/javascript"></script>
<![endif]-->
案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML5语义话标签网页布局</title>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
<style>
/*公共的css样式*/
*{margin:0px;padding:0px}
a{text-decoration: none;}
ul{list-style:none;}
/*页面头部样式*/
#header{
position:fixed;
top:0px;
width:100%;
border-bottom:1px solid #46474a;
}
#header .header-nav{
height:80px;
width:1200px;
background-color: goldenrod;
margin:0px auto;
}
/*页面导航样式*/
#nav{
height:60px;
margin-top:81px;
background-color:#46474a;
}
/*页面主体样式*/
#container{
width:100%;
}
#container .content{
width:1200px;
margin:0px auto;
margin-top:50px;
}
#container .content .main{
width:950px;
margin:0px auto;
}
/*页面主体中的电影排行列表样式*/
#container .content .main ul li{
display:block;
height:220px;
line-height:220px;
width:100%;
margin-bottom:20px;
border:1px dashed #f60;
}
.main ul li .info{
height:100%;
width:680px;
float:right;
background-color:snow;
border-bottom:1px solid #aaa;
}
.main ul li .info .info-right{
width:80px;
height:80px;
border:1px dashed orange;
float: right;
margin-top:70px;
}
.main ul li .info .info-left{
width:300px;
height:120px;
border:1px dashed orange;
margin-top:50px;
}
.main ul li .ids{
height:50px;
width:50px;
margin-top:85px;
margin-bottom:85px;
background-color:orange;
display:inline-block;
}
.main ul li .pic{
height:200px;
width:160px;
margin:10px 25px;
border:1px dashed green;
display: inline-block;
}
/*页面尾部样式*/
#footer{
height:300px;
background-color:#46474a;
}
</style>
</head>
<body>
<!-- 网页头部开始 -->
<header id="header">
<div class="header-nav">
<h2>HTML5语义话标签实现《猫眼电影》榜单排行界面的布局效果</h2>
网址:https://maoyan.com/board
</div>
</header>
<!-- 网页头部结束 -->
<!-- 导航开始 -->
<nav id="nav">
</nav>
<!-- 导航结束 -->
<!-- 页面主体开始 -->
<section id="container">
<div class="content">
<article class="main">
<!-- 电影排行列表开始 -->
<ul>
<li>
<div class="info">
<div class="info-right"></div>
<div class="info-left"></div>
</div>
<div class="ids"></div>
<div class="pic"></div>
</li>
<li>
<div class="info">
<div class="info-right"></div>
<div class="info-left"></div>
</div>
<div class="ids"></div>
<div class="pic"></div>
</li>
<li>
<div class="info">
<div class="info-right"></div>
<div class="info-left"></div>
</div>
<div class="ids"></div>
<div class="pic"></div>
</li>
<li>
<div class="info">
<div class="info-right"></div>
<div class="info-left"></div>
</div>
<div class="ids"></div>
<div class="pic"></div>
</li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul><!-- 电影排行列表结束 -->
</article>
</div>
</section><!-- 页面主体结束 -->
<!-- 页面尾部开始 -->
<footer id="footer"></footer>
<!-- 页面主体结束 -->
</body>
</html>
3. 响应式布局
3.1第⼀种:直接在⻚头中使⽤CSS样式修饰。
<style type="text/css">
/* 宽度范围 最⾼度*/
@media all and (min-width:300px) and (max-width:800px){
body{
color:red;
}
}
@media all and (min-width:100px) and (max-width:300px){
body{
color:green;
}
}
</style>
3.2第⼆种:导⼊不同的css样式⽂件:
<link media="all and (min-width:300px) and (max-width:800px)" rel="stylesheet"
href="my.css" />
<link media="all and (min-width:100px) and (max-width:200px)" rel="stylesheet"
href="test.css" />
