赞
踩
不定位,满足标准流的规定
和标准流的元素完全一致,可以认为其没有定位
<link rel="stylesheet" type="text/css" href="./定位.css"/>
<div id="static">
<div class="example">
静态定位
</div>
</div>
定位.css
.example{
background-color: aqua;
width: 100px;
height: 50px;
line-height: 50px;
text-align: center;
margin: 1px;
}
#static {
position: static;
}
边偏移是相对于本身的位置的
不脱离标准流
会保留原来的位置
可以单独使用
<link rel="stylesheet" type="text/css" href="./定位.css"/>
<div id="relative">
<div class="example">
相对定位
</div>
</div>
定位.css
.example{
background-color: aqua;
width: 100px;
height: 50px;
line-height: 50px;
text-align: center;
margin: 1px;
}
#relative{
position: relative;
top: 10px;
left: 10px;
}
边偏移是相对于它有定位的祖先元素来说的(如果他没有有定位的祖先元素,则以DOM为准定位)
脱离标准流
不会保留原来的位置
一般情况下需要和有定位的祖先元素搭配使用(一般子绝父相)
<link rel="stylesheet" type="text/css" href="./定位.css"/>
<div id="absolute">
<div class="example">
绝对定位
</div>
</div>
定位.css
.example{
background-color: aqua;
width: 100px;
height: 50px;
line-height: 50px;
text-align: center;
margin: 1px;
}
#absolute{
position: absolute;
top: 10px;
left: 110px;
}
边偏移是相对于浏览器的可视窗口来说的
脱离标准流
不会保留原来的位置
可以单独使用
<link rel="stylesheet" type="text/css" href="./定位.css"/>
<div id="fixed">
<div class="example">
固定定位
</div>
</div>
定位.css
.example{
background-color: aqua;
width: 100px;
height: 50px;
line-height: 50px;
text-align: center;
margin: 1px;
}
#fixed {
position: fixed;
top: 10px;
right: 10px;
}
边偏移是相对于浏览器的可视窗口来说的(具体作用建议运行代码,语言上有点难以描述)
不脱离标准流
会保留原来的位置
兼容性较低
<link rel="stylesheet" type="text/css" href="./定位.css"/>
<div id="sticky">
<div class="example">
粘性定位
</div>
</div>
定位.css
.example{
background-color: aqua;
width: 100px;
height: 50px;
line-height: 50px;
text-align: center;
margin: 1px;
}
#sticky {
position: sticky;
top: 10px;
right: 10px;
}
在07温习的学成在线项目中加入定位的元素
index.html
<div class="box-content-li"> <div class="box-content-li-image"> <a href="#"><img src="images/图层133.png" ></a> </div> <div class="box-content-li-text"> Think PHP 5.0 博客系统实战项目演练 <div class="box-content-li-text-supplement"> <div class="box-content-li-text-level"> 高级 </div> <div class="box-content-li-text-people"> · 1125人在学习 </div> </div> </div> </div> <div class="box-content-li"> <div class="box-content-li-image"> <a href="#"><img src="images/图层135.png" ></a> </div> <div class="box-content-li-text"> Android 网络图片加载框架详解 <div class="box-content-li-text-supplement"> <div class="box-content-li-text-level"> 高级 </div> <div class="box-content-li-text-people"> · 1125人在学习 </div> </div> </div> </div>
style .css
.box-content-li{
float:left;
width: 226.8px;
height: 270px;
margin:15px 8.5px 0px 8.5px;
background-color: white;
box-shadow: 5px 5px 10px -4px rgba(0,0,0,.3);
}
index.html
<div class="box-content-li"> <div class="box-content-li-tip"> <img src="images/hot.png" > </div> <div class="box-content-li-image"> <a href="#"><img src="images/图层133.png" ></a> </div> <div class="box-content-li-text"> Think PHP 5.0 博客系统实战项目演练 <div class="box-content-li-text-supplement"> <div class="box-content-li-text-level"> 高级 </div> <div class="box-content-li-text-people"> · 1125人在学习 </div> </div> </div> </div> <div class="box-content-li"> <div class="box-content-li-tip"> <img src="images/new.png" > </div> <div class="box-content-li-image"> <a href="#"><img src="images/图层135.png" ></a> </div> <div class="box-content-li-text"> Android 网络图片加载框架详解 <div class="box-content-li-text-supplement"> <div class="box-content-li-text-level"> 高级 </div> <div class="box-content-li-text-people"> · 1125人在学习 </div> </div> </div> </div>
style .css
.box-content-li{ position: relative; float:left; width: 226.8px; height: 270px; margin:15px 8.5px 0px 8.5px; background-color: white; box-shadow: 5px 5px 10px -4px rgba(0,0,0,.3); } .box-content-li-tip { width: 40px; height: 25px; position: absolute; top: 4px; right: -4px; }
index.html
<div class="box">
...
</div>
index.html
<div class="box"> <div class="box-sidebar"> <div class="box-sidebar-li"> <a href="#">编程入门</a> </div> <div class="box-sidebar-li"> <a href="#">数据分析师</a> </div> <div class="box-sidebar-li"> <a href="#">机器学习工程师</a> </div> <div class="box-sidebar-li"> <a href="#">前端开发工程师</a> </div> <div class="box-sidebar-li"> <a href="#">人工智能工程师</a> </div> <div class="box-sidebar-li"> <a href="#"> 全栈工程师</a> </div> <div class="box-sidebar-li"> <a href="#">iOS工程师</a> </div> <div class="box-sidebar-li"> <a href="#">VR开发者</a> </div> <div class="box-sidebar-li"> <a href="#">深度学习</a> </div> <div class="box-sidebar-li"> <a href="#">商业预测分析师</a> </div> <div class="box-sidebar-li"> <a href="#">Android开发工程师</a> </div> </div> ... </div>
style .css
.box-sidebar{ position: fixed; right: 50%; margin-right: 625px; top: 50%; margin-top: -212.5px; z-index:5; width: 150px; height: 385px; padding:20px 17.5px; background-color: white; font-size: 14px; line-height: 35px; color: rgb(66,66,66); } .box-sidebar-li { width: 150px; height: 35px; padding-left: 15px; } .box-sidebar-li>a:hover{ color: rgb(0,164,255); }
可以让盒子上下排列或者左右排列,垂直的块级盒子显示就用标准流布局。
可以让多个块级元素一行显示或者左右对齐盒子,多个块级盒子水平显示就用浮动布局
定位最大的特点是有层叠的概念,就是可以让多个盒子前后叠压来显示。如果元素自由在某个盒子内移动就用定位布局。
display: none 隐藏对象
display 隐藏元素后,不再占有原来的位置。
后面应用及其广泛,搭配 JS 可以做很多的网页特效。实际开发场景
<link rel="stylesheet" type="text/css" href="./元素的显示与隐藏.css"/>
<div id="display">
display
</div>
<div>
div
</div>
元素的显示与隐藏.css
*{ margin: 0px; padding:0px; } div{ width: 100px; height: 100px; background-color: pink; } #display{ display:block; background-color: red; } #display:hover{ display: none; }
visibility : hidden; 隐藏对象
visibility 隐藏元素后,继续占有原来的位置
<link rel="stylesheet" type="text/css" href="./元素的显示与隐藏.css"/>
<div id="visibility">
visibility
</div>
<div>
div
</div>
元素的显示与隐藏.css
*{ margin: 0px; padding:0px; } div{ width: 100px; height: 100px; background-color: pink; } #visibility { visibility:visible ; background-color: orange; } #visibility:hover{ visibility:hidden; }
如果隐藏元素想要原来位置, 就用 visibility :hidden
如果隐藏元素不想要原来位置, 就用 display :none (用处更多 重点)
当内容过多,溢出元素方块的内容也会显示出来
当内容过多,溢出元素方块的内容不会显示出来
会有滑动条
当内容过多,会有滑动条
<link rel="stylesheet" type="text/css" href="./元素的显示与隐藏.css"/> <div id="overflow"> <div id="overflow-visible" class="overflow"> overflow-visible<br/> overflow-visible<br/> overflow-visible<br/> overflow-visible<br/> overflow-visible </div> <div id="overflow-hidden" class="overflow"> overflow-hidden<br/> overflow-hidden<br/> overflow-hidden<br/> overflow-hidden<br/> overflow-hidden </div> <div id="overflow-scroll" class="overflow"> overflow-scroll<br/> overflow-scroll<br/> overflow-scroll<br/> overflow-scroll<br/> overflow-scroll </div> <div id="overflow-auto" class="overflow"> overflow-auto<br/> overflow-auto<br/> overflow-auto<br/> overflow-auto<br/> overflow-auto </div> <div id="overflow-auto" class="overflow"> overflow-auto<br/> overflow-auto </div> </div> <div> div </div>
元素的显示与隐藏.css
*{ margin: 0px; padding:0px; } div{ width: 100px; height: 100px; background-color: pink; } #overflow{ width: 500px; height: 60px; } .overflow{ float: left; height: 100px; background-color: yellow; } #overflow-visible{ overflow: visible; } #overflow-hidden{ overflow: hidden; } #overflow-scroll{ overflow: scroll; } #overflow-auto{ overflow: auto; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。