首页 > 代码库 > css笔记:元素的位置
css笔记:元素的位置
CSS中,元素的位置是通过偏移来定位的,偏移是相对包含元素的父元素的左上角来定义的,偏移量通常用left(水平)偏移和top(垂直)偏移来设置或读取。
定位的类型:定位的类型用position设置,设置值有absolute , fixed , relative , static ,inhert。
static(静态定位):这是元素的默认的定位方式,遵循默认的文档流,当元素设置static定位时,使用left和top来设置偏移位置是无效的。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>元素的static定位</title> <style type="text/css"> div{ width:200px; height:100px; border:1px solid red ; } div.static{ position:static; left:100px; top:200px;
} </style> </head> <body> <div>第一个div</div> <div>第二个div</div> </body> </html>
上面还没为元素设置定位的显示结果如下图:
为元素设置static定位
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>元素的static定位</title> <style type="text/css"> div{ width:200px; height:100px; border:1px solid red ; } div.static{ position:static; left:100px; top:200px; } </style> </head> <body> <div>第一个div</div> //为元素设置static定位 <div class="static">第二个div</div> </body> </html>
显示结果与没有设置定位的结果是一样的效果
relative(相对定位):这种方式与静态(相似),元素会默认遵循文档流。但是设置了top和left属性时,元素会相对它原始的位置进行偏移。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>元素的relative定位</title> <style type="text/css"> div{ width:200px; height:100px; border:1px solid red ; } div.relative{ position:relative; left:100px; top:30px; } </style> </head> <body>
//元素未设置定位属性
<div>第一个div</div> <div>第二个div</div> </body> </html>
未设置relative定位时,元素默认是static定位效果
为元素设置relative定位,元素会相对自己原始的位置按top和left的设置值进行位置偏移
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>元素的relative定位</title> <style type="text/css"> div{ width:200px; height:100px; border:1px solid red ; } div.relative{ position:relative; left:100px; top:30px; } </style> </head> <body> <div>第一个div</div> //为元素设置relative定位,且设置top和left偏移值 <div class="relative">第二个div</div> </body> </html>
显示效果
absolute(绝对定位):绝对定位是完全跳出了页面的文档流,设置了绝对定位的元素,会以元素的第一个非静态定位的父元素而显示,如果没有非静态的父元素则以显示窗口为父元素。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>元素的absolute定位</title> <style type="text/css"> div{ width:200px; height:100px; border:1px solid red ; padding:0px; margin:0px; } .absolute{ position:absolute; left:200px; top:30px; } .father{ width:400px; height:400px; border:1px solid blue ; } </style> </head> <body>
//父元素是静态定位时, 设置了absolute定位的子元素会以整个文档窗口为父元素进行偏移
<div class="father"> <div>第一个div</div> <div class="absolute">第二个div</div> </div> </body> </html>
父元素是静态定位时,子元素的绝对定位显示结果。
为父元素设置非静态定位,子元素设置绝对定位
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title>元素的absolute定位</title> <style type="text/css"> div{ width:200px; height:100px; border:1px solid red ; padding:0px; margin:0px; } .absolute{ position:absolute; left:200px; top:30px; } .father{ width:400px; height:400px; border:1px solid blue ; posiotion:relative; //为父元素设置相对定位 } </style> </head> <body> <div class="father"> <div>第一个div</div>
<div class="absolute">第二个div</div> </div> </html>
当父元素设置了非静态定位时,子元素会以父元素为基准进行偏移
css笔记:元素的位置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。