定位
- left:左
- right:右
- top:上
- bottom:下 离页面顶点的距离
positon定位方式
正常定位 relative
代码
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
padding:0;
margin:0;
}
div{
width:300px;
height:300px;
background-color:green;
position:relative;
top:10px;
left:10px;
}
</style>
</head>
<body>
<div>好好学习天天向上</div>
</body>
显示结果
总结
relative正常定位默认位置为左上 可设置定位距离(left,right,top,bottom)设置定位位置。
absolute
根据父元素进行定位
代码
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
padding:0;
margin:0;
}
div{
width:300px;
height:300px;
background-color:green;
position:relative;
top:10px;
left:10px;
}
span{
background-color:yellow;
position:absolute;
top:-10px;
right:0px;
}
</style>
</head>
<body>
<div>
<span>访问数量:999</span>
</div>
</body>
显示结果
总结
使用absolute的标签的父元素必须是relative。位置也是相对于父元素来定义。
fixed
根据浏览器父窗口进行定位
代码
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
padding:0;
margin:0;
}
.div{
width:300px;
height:300px;
background-color:green;
position:relative;
top:10px;
left:10px;
}
span{
background-color:yellow;
position:absolute;
top:-10px;
right:0px;
}
.fixed{
background-color:yellow;
position:fixed;
top:100px;
}
</style>
</head>
<body>
<div class="div">
<span>访问数量:999</span>
</div>
<div class="fixed">
<p>联系电话L12898767897</p>
<p>联系qq:2897658908</p>
<p>性别:女</p>
</div>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/> <br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
</body>
显示结果
总结
当你上下滑动页面时,fixed所定义的标签对定位在浏览器的位置,类似于页面中的客服等等。
static
没有定位
代码
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
padding:0;
margin:0;
}
.div{
width:300px;
height:300px;
background-color:green;
position:relative;
top:10px;
left:10px;
}
span{
background-color:yellow;
position:absolute;
top:-10px;
right:0px;
}
.fixed{
background-color:yellow;
position:static;
top:100px;
}
</style>
</head>
<body>
<div class="div">
<span>访问数量:999</span>
</div>
<div class="fixed">
<p>联系电话L12898767897</p>
<p>联系qq:2897658908</p>
<p>性别:女</p>
</div>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/> <br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/> <br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
</body>
显示结果
结论
所有的定位属性失效
inherit
继承
z-index
层覆盖优先级
代码
把上述代码中“fixed”放到“div”上面
<div class="fixed">
<p>联系电话L12898767897</p>
<p>联系qq:2897658908</p>
<p>性别:女</p>
</div>
<div class="div">
<span>访问数量:999</span>
</div>
显示结果
代码
如果不改动代码的前提下吧下面的信息提到页面的顶层
.fixed{
background-color:yellow;
position:fixed;
top:100px;
z-index:1;
}
显示结果
结论
默认z-index为0,z-index越大越显示在浏览器的顶层。
display
显示属性
- none:层不显示
- block:块状显示,在元素的后面换行,显示下一块元素
- inline:内联显示,多个块可以显示在一行内
代码
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
padding:0;
margin:0;
}
p{
display:none;
}
div{
background-color:red;
display:inline;
}
span{
background-color:yellow;
display:block;
}
</style>
</head>
<body>
<p>我是不显示的</p>
<div>div1</div>
<div>div2</div>
<div>div3</div>
<span>span1</span>
<span>span2</span>
<span>span3</span>
<span>span4</span>
</body>
显示结果
结论
可以实现div和span的互换。
span不可以设置高宽,div可以设置宽高。用block和inline设置之后,span可以设置宽高,div不可以设置宽高。
float clear 浮动属性
- left:左浮动
- right:右浮动
clear 清楚浮动 - clear:both;
代码
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
margin:0;
padding:0;
}
.div{
width:960px;
height:600px
background-color:#f1f1f1;
margin:0 auto;
}
.left{
float:left;
width:260px;
height:400px;
background-color:#ccc;
}
.right{
float:right;
width:700px;
height:400px;
background-color:#ddd;
}
.bottom{
width:960px;
height:200px;
background-color:red;
}
</style>
</head>
<body>
<div class="div">
<div class="left"></div>
<div class="right"></div>
<div class="bottom"></div>
</div>
</body>
显示结果
问题描述
无法显示出bottom
原因:与浮动元素紧连的元素会受影响
解决办法1
.bottom{
clear:both;
width:960px;
height:200px;
background-color:red;
}
解决办法2
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
margin:0;
padding:0;
}
.div{
width:960px;
height:600px
background-color:#f1f1f1;
margin:0 auto;
}
.left{
float:left;
width:260px;
height:400px;
background-color:#ccc;
}
.right{
float:right;
width:690px;
height:400px;
background-color:#ddd;
}
.bottom{
margin-top:10px;
width:960px;
height:190px;
background-color:red;
}
.clear{
clear:both;
}
</style>
</head>
<body>
<div class="div">
<div class="left"></div>
<div class="right"></div>
<div class="clear"></div>
<div class="bottom"></div>
</div>
</body>
显示结果
overflow溢出处理
- hidden 隐藏超出层大小的内容
- scroll 无论内容时候超出曾大小都添加滚动条
- auto 超出时自动添加滚动条
代码
<!DOCTYPE html>
<head>
<title>CSS 布局的属性</title>
<meta charset="utf-8">
<style type="text/css">
body{
margin:0;
padding:0;
}
.div{
width:960px;
height:600px
background-color:#f1f1f1;
margin:0 auto;
}
.left{
float:left;
width:260px;
height:400px;
background-color:#ccc;
}
.right{
float:right;
width:690px;
height:400px;
background-color:#ddd;
}
.bottom{
margin-top:10px;
width:960px;
height:190px;
background-color:red;
}
.clear{
clear:both;
}
.jianjie1{
width:260px;
height:20px;
background:red;
overflow:hidden;
}
.jianjie2{
width:260px;
height:80px;
background:red;
overflow:scroll;
}
.jianjie3{
width:260px;
height:120px;
background:red;
overflow:auto;
}
</style>
</head>
<body>
<div class="div">
<div class="left">
<div class="jianjie1">
hidden
好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上
</div>
</div>
<div class="right">
<div class="jianjie2">
scroll
好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上
</div>
</div>
<div class="clear"></div>
<div class="bottom">
<div class="jianjie3">
auto
好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上 好好学习 天天向上
</div>
</div>
</div>
</body>