介绍
固定布局也叫静态布局
特征
优点
缺点
应用
示例代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
/* 清除浏览器默认样式 */
*{
margin: 0;
padding: 0;
}
.head{
width: 1000px;
height: 150px;
background-color: antiquewhite;
margin: 0 auto;
}
.content{
font-size: 0;
width: 1000px;
height: 400px;
background-color: aqua;
margin: 10px auto;
}
.content .left{
display: inline-block;
width: 200px;
height: 100%;
background-color: #F0F8FF;
}
.content .center{
display: inline-block;
width: 600px;
height: 100%;
background-color: #F0a8FF;
}
.content .right{
display: inline-block;
width: 200px;
height: 100%;
background-color: #F00fFF;
}
.footer{
width: 1000px;
height: 120px;
background-color: aliceblue;
margin: 0 auto;
}
</style>
</head>
<body>
<!-- 网页布局就是摆盒子 -->
<!-- 大盒套小盒,盒子模型,简单布局,div块,浮动 -->
<!-- 头部div -->
<div class="head">
</div>
<!-- 主要内容div -->
<div class="content">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
<!-- 底部信息的div -->
<div class="footer">
</div>
</body>
</html>
介绍
也叫float布局
浮动的设计初衷是为了设计文字环绕效果
特征
优点
缺点
应用
示例代码
中间内容区使用浮动布局,实现三个div块同行
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
/* 清除浏览器默认样式 */
*{
margin: 0;
padding: 0;
}
.head{
height: 150px;
background-color: antiquewhite;
}
.content{
width: 1000px;
height: 400px;
background-color: aqua;
margin: 10px auto;
}
.content .left{
width: 200px;
height: 100%;
background-color: #F0F8FF;
float: left;
}
.content .center{
width: 600px;
height: 100%;
background-color: #F0a8FF;
float: left;
}
.content .right{
width: 200px;
height: 100%;
background-color: #F00fFF;
float: left;
}
.footer{
height: 120px;
background-color: aliceblue;
}
</style>
</head>
<body>
<div class="head">
</div>
<!-- 主要内容div -->
<div class="content">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
<!-- 底部信息的div -->
<div class="footer">
</div>
</body>
</html>
介绍
表格更多的是用来展示数据
特征
优点
缺点
应用
示例代码
可以看到代码结构较为复杂
<html>
<body>
<h2 align="center">合并表格行或列</h2>
<!--显示菜单-->
<table border="1" align="center" bordercolor="#E76BFF" height="225px" cellpadding="1px" cellspacing="0px" width="400px">
<tr>
<!--colspan="3"表该列要占用三列-->
<td align="center" colspan="3">菜谱</td>
</tr>
<tr>
<td rowspan="3">素菜</td>
<td>青草茄子</td>
<td>花椒扁豆</td>
</tr>
<tr>
<td>小炒韭菜</td>
<td>白豆腐</td>
</tr>
<tr>
<td rowspan="2">荤菜</td>
<td>清蒸龙</td>
<td>鱼香肉丝</td>
</tr>
<tr>
<td>小炒肉
<imgsrc="dog.jpg" width="70px" />
</td>
<td>水煮肉片</td>
</tr>
</table>
<h2 align="center">列里边嵌入子表</h2>
<table border="1" align="center" bordercolor="#E76BFF" height="200px" cellpadding="1px" cellspacing="0px" width="400px">
<caption>购物车</caption>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
</tr>
<tr>
<td>名称</td>
<td align=center>
<table border="0" bordercolor="#E76BFF" cellpadding="1px" width="100%" height="100%" cellspacing="0px">
<tr>
<td align=center>1</td>
</tr>
<tr>
<td style="border-top:1px solid #E76BFF;" align=center>2</td>
</tr>
</table>
</td>
<td>
<table border="0" bordercolor="#E76BFF" cellpadding="1px" width="100%" height="100%" cellspacing="0px">
<tr>
<td align=center>1</td>
</tr>
<tr>
<td style="border-top:1px solid #E76BFF;" align=center>2</td>
</tr>
<tr>
<td style="border-top:1px solid #E76BFF;" align=center>3</td>
</tr>
</table>
</td>
<td>小计</td>
</tr>
<tr>
<td>名称</td>
<td align=center><b>2016-11-22</b></td>
<td>小计</td>
<td>小计</td>
</tr>
<tr>
<td>苹果</td>
<td>3公斤</td>
<td>5元/公斤</td>
<td>15元</td>
</tr>
<tr>
<td>香蕉</td>
<td>2公斤</td>
<td>6元/公斤</td>
<td>12元</td>
</tr>
<tr>
<td colspan=3 align=center>总价</td>
<td>27元</td>
</tr>
</table>
</body>
</html>
介绍
也叫百分比布局
特征
优点
缺点
应用
示例代码
可以试着改变浏览器宽度,看看页面的变化
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>流式布局</title>
<style type="text/css">
.box{
/* 百分比流式 */
/* 参考最近父级 */
/* width:90%; */
/* max-width:900px;
min-width:600px; */
/* 窗口比 */
/* width:90vw;
max-width:900px;
min-width:600px; */
height:600px;
background-color:orange;
margin:0 auto;
}
.b{
width:100px;
height:100px;
background-color:red;
border-radius:50%;
float:left;
}
body{
font-size:30px;
}
.sup{
font-size:20px;
}
.text{
/* 1em=16px 不一定*/
/* font-size:1em; */
/* font-size:16px; */
/* font-size:0.4em; */
/* em为最近设置字体大小的父级规定的字体大小 */
font-size:1rem;
/* rem为html字体大小 */
}
html{
font-size:40px;
}
</style>
</head>
<body>
<!-- 流式布局 -->
<!-- 目的:让布局脱离固定值限制,可以根据页面情况改变相应发生改变 -->
<div class="box">
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
</div>
<div class="sup">
<div class="text">wenben</div>
</div>
</body>
</html>
介绍
自适应的概念网上有很多,这里单单指媒体查询
它本质是多个静态布局
特征
优点
缺点
应用
示例代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
/* 清除浏览器默认样式 */
*{
margin: 0;
padding: 0;
}
.head{
height: 150px;
background-color: antiquewhite;
}
.content{
font-size: 0;
width: 80%;
background-color: aqua;
margin: 10px auto;
}
.content .left{
display: inline-block;
width: 25%;
height: 300px;
background-color: #F0F8FF;
}
.content .center{
display: inline-block;
width: 50%;
height: 300px;
background-color: #F0a8FF;
}
.content .right{
display: inline-block;
width: 25%;
height: 300px;
background-color: #F00fFF;
}
.footer{
height: 120px;
background-color: aliceblue;
}
@media screen and (max-width: 500px) {
.content .left,.content .center,.content .right{width:100%;}
}
</style>
</head>
<body>
<!-- 头部div -->
<div class="head">
</div>
<!-- 主要内容div -->
<div class="content">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
<!-- 底部信息的div -->
<div class="footer">
</div>
</body>
</html>
介绍
通常是糅合了流式布局+弹性布局,再搭配媒体查询技术使用
特征
优点
缺点
应用
示例代码
这是一个bootstrap实例
<div class="jumbotron text-center" style="margin-bottom:0">
<h1>我的第一个 Bootstrap 4 页面</h1>
<p>重置浏览器窗口大小查看效果!</p>
</div>
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<a class="navbar-brand" href="#">导航</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsibleNavbar">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">链接</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">链接</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">链接</a>
</li>
</ul>
</div>
</nav>
<div class="container" style="margin-top:30px">
<div class="row">
<div class="col-sm-4">
<h2>关于我</h2>
<h5>我的照片:</h5>
<div class="fakeimg">这边插入图像</div>
<p>关于我的介绍..</p>
<h3>一些链接</h3>
<p>说明文本</p>
<ul class="nav nav-pills flex-column">
<li class="nav-item">
<a class="nav-link active" href="#">激活状态</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">链接</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">链接</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">禁用</a>
</li>
</ul>
<hr class="d-sm-none">
</div>
<div class="col-sm-8">
<h2>标题</h2>
<h5>副标题</h5>
<div class="fakeimg">图像</div>
<p>一些文本..</p>
<p>菜鸟教程,学的不仅是技术,更是梦想!!!菜鸟教程,学的不仅是技术,更是梦想!!!菜鸟教程,学的不仅是技术,更是梦想!!!</p>
<br>
<h2>标题</h2>
<h5>副标题</h5>
<div class="fakeimg">图像</div>
<p>一些文本..</p>
<p>菜鸟教程,学的不仅是技术,更是梦想!!!菜鸟教程,学的不仅是技术,更是梦想!!!菜鸟教程,学的不仅是技术,更是梦想!!!</p>
</div>
</div>
</div>
<div class="jumbotron text-center" style="margin-bottom:0">
<p>底部内容</p>
</div>
介绍
也叫flex布局
当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式
特征
优点
缺点
应用
示例代码
<style>
body{margin:0;}
ul,li{margin:0; padding:0;}
li{list-style-type:none;}
#list{border:2px solid gold; height:500px; display:flex; flex-direction:row;}
#list li{font-family:"microsoft yahei"; font-size:50px; background:#C00; color:#fff; margin:2px; flex-grow:1;}
#list li:nth-child(2){flex-grow:2;}
</style>
<ul id="list">
<li>test1</li>
<li>test2</li>
<li>test3</li>
</ul>
单列布局
双列布局
三列布局
补充: rem,em都是顺应不同网页字体大小展现而产生的。其中,em是相对其父元素,在实际应用中相对而言会带来很多不便;而rem是始终相对于html大小,即页面根元素。
注: 每个布局各有优缺点,在现实项目中应该配合使用