目录
网页布局
-
三种传统PC端⽹⻚布局⽅式:
-
传统的DIV+CSS布局
-
HTML5+CSS3布局
-
响应式布局
-
1. DIV+CSS布局
此种布局是⽹⻚的HTML通过DIV标签+CSS样式表代码开发制作的(HTML)⽹⻚的统称。
DIV+CSS布局好处:便于维护,有利的SEO(⾕歌将⽹⻚打开速度作为排名因素及SEO因素),
⽹页打开速度还原,符合web标准等。
程序示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DIV+CSS传统页面布局</title>
<style>
/*公共的CSS样式*/
*{margin: 0px;padding: 0px;}
a{text-decoration: none;}
ul{list-style: none;}
/*页面头部样式*/
#header{
position: fixed;
top:0px;
height:80px;
width: 100%;
border-bottom: 1px solid #46474a;
}
#header .header-nav{
height: 80px;
width: 1000px;
background-color: goldenrod;
margin: 0px auto;
}
/*页面导航样式*/
#nav{
height: 60px;
margin-top:81px;
background-color: #46474a;
}
/*页面主体样式*/
#container{
width: 100%;
}
#container .content{
width: 1000px;
margin: 50px auto 0px;
}
#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;
}
.main ul li .info{
height: 100%;
width: 680px;
float: right;
background-color:snow ;
border-bottom: 1px solid #ededed;
}
.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 标签
-
这种语义化的特性提升了⽹⻚的质量和语义
-
减少了以前⽤于CSS 调⽤的class 和 id 属性
对搜索引擎的友好 新的结构标签带来的是⽹⻚布局的改变及提升对搜索引擎的友好。
HTML5的新标签元素有:
<header> 定义页⾯或区段的头部;
<footer> 定义页⾯或区段的尾部;
<nav> 定义页⾯或区段的导航区域;
<section> 页⾯的逻辑区域或内容组合;
<article> 定义正⽂或⼀篇完整的内容;
<aside> 定义补充或相关内容;
注意:使⽤HTML5 语义化标签的布局模式在IE9以下浏览器不兼容,可使⽤下⾯的代码解决。
3. 响应式布局
第⼀种:直接在⻚头中使⽤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>
-
第⼆种:导⼊不同的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" />
程序示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div.dd{
border: 1px solid red;
width: 1200px;
margin: 0px auto;
}
ul{list-style:none;}
ul li{
width:180px;
height:300px;
margin:5px;
float:left;
border:1px solid yellow;
}
@media all and (min-width:501px) and (max-width:1000px){
div.dd{width:980px}
ul li{border-color:green;}
}
@media all and (min-width:0px) and (max-width:500px){
div.dd{width:450px}
ul li{border-color:red;}
}
</style>
</head>
<body>
<h1>响应式布局</h1>
<div class="dd">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div style="clear: both; width: 100%; height:1px;"></div>
</div >
</body>
</html>