<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*先清掉默认的样式*/
body {
margin: 0;
padding: 0;
background-color: bisque;
}
/*给创建的div设置宽高和加上3D效果,且加上定位,方便后期的动画操作*/
.box {
width: 300px;
height: 300px;
margin: 100px auto;
position: relative;
transform-style: preserve-3d;
transition: all 5s;
}
/*给伪元素before和after设置宽高,以及定位,
*此处用上下左右都为0的方法,使得before和after两个盒子紧贴父元素,达到这两个盒子与父盒子同款同高
*也可以采用width=100% height=100%的方法
*/
.box::before,.box::after {
content: '';
display: block;
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
}
.box::before {
background: url("images/bg.png") right bottom;/*这里是设置背景图*/
transform: translateZ(0px);/*利用伪元素的话,这里就必须要加上,但是根据浏览器的不同,这里给的值也就不同*/
}
.box::after {
background: url("images/bg.png") left bottom;
transform: translateZ(0px);/*利用伪元素的话,这里就必须要加上,但是根据浏览器的不同,这里给的值也就不同*/
}
.box:hover {
transform: rotateY(180deg);
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
margin: 0;
padding: 0;
background-color: salmon;
}
div {
width: 224px;
height: 224px;
position: relative;
}
img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transition: all 1s;
}
img:last-child {
backface-visibility: hidden;
}
div:hover img {
transform: rotateY(180deg);
}
</style>
</head>
<body>
<div>
<img src="images/hou.svg" alt="">
<img src="images/qian.svg" alt="">
</div>
</body>
</html>
一个盒子里面装两个同宽高的盒子,利用backface-visibility设置元素背面是否可见的属性,达到两面翻转的效果
css盒子模型用于处理元素的内容、内边距、边框和外边距的方式简称。css盒子模型到底的思想是什么?CSS盒子模型对行内元素和块级元素的区别和特点,Box-sizing的使用。
box-sizing属性用来定义元素的width和height所表示的区域,该属性一般有三种值:content-box、border-box、inherit,其中inherit表示box-sizing的值应该从父元素继承。
box-sizing用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型。它有content-box、border-box和inherit三种取值,inherit指的是从父元素继承box-sizing表现形式。根据项目中的使用经验和w3c的建议,推荐将box-sizing属性设置为border-box。
border-box 告诉浏览器去理解你设置的边框和内边距的值是包含在width,height内的。全局设置 border-box 很好,更符合我们通常对一个「盒子」尺寸的认知。让有边框的盒子正常使用百分比宽度。
CSS3中的box-sizing 属性允许以特定的方式来指定盒模型,有两种方式:现代浏览器和IE9+默认值是content-box。 content-box:padding和border不被包含在定义的width和height之内。
在JS中通过相关的属性可以获取(设置)元素的样式信息,这些属性就是盒子模型属性(基本上都是有关于样式的),clientWidth & clientHeight:获取当前元素可视区域的宽高
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!