• CSS-定位模式


    定位模式

    首先我们先做个一个box嵌套2个box的模型

    代码

    <!DOCYTYPE html>
    <html lang="en">
    <html>
    	<HEAD>
    		<meta charset="utf-8">
    		<title>test</title>
    		<style type="text/css">
    			.con{
    				 400px;
    				height: 400px;
    				border: 1px solid #000;
    				margin: 50px auto 0;
    			}
    			.box1,.box2{
    				 300px;
    				height: 100px;
    				margin: 10px;
    			}
    			.box1{
    				background-color: green;
    			}
    			.box2{
    				background-color: red;
    			}
    		</style>
    	</HEAD>
    	<BODY>
    		<div class="con">
    			<div class="box1"></div>
    			<div class="box2"></div>
    		</div>
    
    	</BODY>
    </html>
    

    我们可以使用css的position属性来设置元素的定位类型,postion的设置项如下:

    相对定位

    relative 生成相对定位元素,元素所占据的文档流的位置保留,元素本身相对自身原位置进行偏移。

    			.box1{
    				background-color: green;
    				position: relative;
    				left: 50px;
    				top: 50px;
    			}
    

    效果

    绝对定位

    absolute 生成绝对定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于上一个设置了定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位。

    			.box1{
    				background-color: green;
    				/*position: relative;
    				left: 50px;
    				top: 50px;*/
    				position: absolute;
    				left: 50px;
    				top: 50px;
    			}
    

    效果

    脱离了文档流的限制

    对上一父级添加定位属性,绝对路径的参照点发生了改变

    			.con{
    				 400px;
    				height: 400px;
    				border: 1px solid #000;
    				margin: 50px auto 0;
    				position: relative;
    			}
    

    效果

    fixd

    fixed 生成固定定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于浏览器窗口进行定位。

    			.box1{
    				background-color: green;
    				position: fixed;
    				left: 50px;
    				top: 50px;
    			}
    

    效果

    static

    static 默认值,没有定位,元素出现在正常的文档流中,相当于取消定位属性或者不设置定位属性。

    inherit

    inherit 从父元素继承 position 属性的值。

    定位的层级

    <!DOCYTYPE html>
    <html lang="en">
    <html>
    	<HEAD>
    		<meta charset="utf-8">
    		<title>test</title>
    		<style type="text/css">
    			.con{
    				 400px;
    				height: 400px;
    				border: 1px solid #000;
    				margin: 50px auto 0;
    				position: relative;
    			}
    			.con div{
    				 300px;
    				height: 100px;
    				margin: 10px;
    				position: absolute;
    			}
    			.box1{
    				background-color: green;
    				left: 20px;
    				top: 20px;
    
    			}
    			.box2{
    				background-color: red;
    				left: 40px;
    				top: 40px;
    
    			}
    			.box3{
    				background-color: pink;
    				left: 60px;
    				top: 60px;
    			}
    			.box4{
    				background-color: black;
    				left: 80px;
    				top: 80px;
    			}
    		</style>
    	</HEAD>
    	<BODY>
    		<div class="con">
    			<div class="box1"></div>
    			<div class="box2"></div>
    			<div class="box3"></div>
    			<div class="box4"></div>
    		</div>
    
    	</BODY>
    </html>
    

    搭建一个模型 层级是依次排序

    修改层级

    			.box1{
    				background-color: green;
    				left: 20px;
    				top: 20px;
    				z-index: 10;
    
    			}
    			.box2{
    				background-color: red;
    				left: 40px;
    				top: 40px;
    				z-index: 1
    
    			}
    
    


    z-index 属性越大排序越上(前)。默认0,依次排序

    定位的应用

    <html lang="en">
    <html>
    	<HEAD>
    		<meta charset="utf-8">
    		<title>test</title>
    		<style type="text/css">
    			.con{
    				 100px;
    				height: 100px;
    				background-color: gold;
    				margin: 50px auto 0;
    				position: relative;
    				border-radius: 14px;
    			}
    			.box{
    				 28px;
    				height: 28px;
    				background-color: red;
    				color: #fff;
    				text-align: center;
    				line-height: 28px;
    				position: absolute;
    				left: 86px;
    				top: -14px;
    				border-radius: 14px;
    			}
    		</style>
    	</HEAD>
    	<BODY>
    		<div class="con">
    			<div class="box">5</div>
    		</div>
    
    	</BODY>
    </html>
    
  • 相关阅读:
    java中Condition类的详细介绍(详解)
    Semaphore原理以及使用总结
    RocketMQ消息存储原理总结(一)
    Es Bucket聚合(桶聚合)总结
    "元素隐式具有 “any” 类型,因为类型“Shared”没有索引签名"问题解决思路
    有关生产环境tomcat java应用报错Caused by: java.lang.OutOfMemoryError: Java heap space的调研
    docker 实践02
    正睿比赛总结day1
    【水】一个神秘玩意:如何分辨出差别很小的颜色?
    AtCoder Regular Contest 125 比赛记录(vp)
  • 原文地址:https://www.cnblogs.com/lzq70112/p/13151864.html
Copyright © 2020-2023  润新知