div::after {
content: "X"
width: 10px
height: 10px
position: absolute
top: 50%
left: 50%
transform: translate(-50%, -50%)
}
HTML:
CSS:
重点:父容器高度和子元素line-height一样的数值,内容中的行内元素就会垂直居中。
HTML:
CSS:
重点:给父元素添加一个伪元素::before,让这个伪元素的div高度为100%,这样其他div就可垂直居中了,但div 本身就是块级元素,而vertical-align是行内元素属性,则需要修改为inline-block。
HTML:
CSS:
重点:在父元素中设置相对定位position: relative,子元素设置绝对定位 position: absolute;top和left相对父元素的50%,与其搭配的 transformse: translate(-50% , -50%)表示X轴和Y轴方向水平居中。
HTML:
CSS:
重点:子元素绝对定位position:absolute,父元素相对定位position: relative,将上下左右的数值都设置为0,同时margin:auto。绝对定位是会脱离文档流的,这点要注意一下。
HTML:
CSS:
重点:给父元素设置display: flex布局,水平居中 justify-content: center,垂直居中align-items: center。
HTML:
CSS:
重点:父元素position定位为relative,子元素position定位为absolute。水平居中同理。calc居中要减多少要结合到自己的宽高设置多少再进行计算。
HTML:
CSS:
重点:将父元素设置display:table,子元素table-cell会自动撑满父元素。组合 display: table-cell、vertical-align: middle、text-align: center完成水平垂直居中。
CSS代码中如果要延x轴和y轴分别平铺背景代码,首先我们需要明确的是,你一般改的话,如果是在一个div中,是无法像你说的那样,只能实现的是平铺,repeat来实现的,如果是不同的2个div这样x和y是能能够实现的,通过repeat-x和repeat-y来实现,通过代码来理解:<html>
<head>
<style>
#div1{
width:360px
height:400px
border:1px soild #f00
background:url('图片地址')repeat-x 0px 0px //沿x轴的
}
#div2{
width:360px
height:400px
border:1px soild #f00
background:url('图片地址')repeat-y 0px 0px //沿Y轴的
}
</style>
</head>
<body>
<div id='div1'></div>
<div id='div2'></div>
</body>
</html>