在最近做项目时,因为使用了两个屏幕,一个分屏的屏幕尺寸要比笔记本电脑屏幕大一些,就造成了使用固定值设置宽高的元素在两边屏幕呈现出不一样的布局与大小。于是查了点资料进行了一些修改就完成了,下面是一些总结:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <style type="text/css"> * { margin: 0; padding: 0; } .container { width: 100%; /*只是为了证明宽高不等而已*/ height: calc(100vw + 100px); background: skyblue; display: flex; justify-content: center; align-items: center; } .box { width: 40vw; height: 40vw; background: red; } </style> </head> <body> <div class="container"> <div class="box"> </div> </div> </body> </html>
.wrapper { width: 40vw; } .intrinsic-aspect-ratio-container { width: 100%; height: 0; padding: 0; padding-bottom: 75%; margin: 50px; background-color: lightsalmon; }
.img-wrapper { width: 50vw; margin: 100px auto; padding: 10px; border: 5px solid lightsalmon; font-size: 0; } img { width: 100%; height: auto; }
/* 高度随动 */ .box1 { width: 100%; height: auto; aspect-ratio: 16/9; } /* 宽度随动 */ .box2 { height: 100%; width: auto; aspect-ratio: 16/9; }
伪元素是他们不是真正的页面元素,html没有对应的元素,但是其用法和行为与真正的页面元素一样,可以对其使用诸如页面元素一样的css样式,表面上看上去貌似是页面的某些元素来展现,实际上是css样式展现的行为,因此被称为伪元素。
伪元素可以在真正的页面元素内部之前后之后添加新的内容:
<p>hello world</p> <style> p:before{content: "this is inserted before hello world! "} p:after{content: "this is inserted after hello world"} </style>
这个效果就相当于这个html结构:
<p> <span>this is inserted before hello world!</span> hello world <span> this is inserted after hello world</span> </p>
伪元素:before和:after添加的内容默认是inline元素;这个两个伪元素的content属性,表示伪元素的内容,设置:before和:after时必须设置其content属性,否者伪元素就不起作用。
content属性值的内容如下:
码字不易~, 各位看官要是看爽了,可不可以三连走一波,点赞皆有好运!,不点赞也有哈哈哈~~~