1、首先先在页面里加载一张,代码和效果如下图所示:
2、然后设置给起一个class名,方便一会儿的 *** 作。
3、然后给设置css样式,因为方便的原因就直接在html页面写css样式了。
4、经常使用“margin: 0 auto”来实现水平居中,而一直认为“margin: auto”是不能实现垂直居中,但是实际上,仅需要添加一些限制便能实现效果,就是通过定位:
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
设置定位让上下左右都为0,然后通过margin:0 auto,来让元素实现上下左右都居中。
5、设置完CSS样式之后,通过浏览查看代码的效果就可以,可以看到已经实现了。
6、最后给大家附上全部的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>使用CSS让水平垂直居中</title>
</head>
<body>
<img class="pic" src="img/timgjpg" alt="" />
</body>
<style type="text/css">
pic{
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
</style>
</html>
思路:利用text-align属性将水平居中,然后设置padding-top的值使其垂直居中。结构如下:
<div>
<img src="images/ttgif" width="150" height="100" />
</div>
CSS样式如下:
div {width:300px; height:150px; background-color:#CCC; border:#000 1px solid; text-align:center; padding-top:50px;}
释义:
的尺寸为150x100px,DIV的大小为300x200px;
background-color:#CCC; border:#000 1px solid;为DIV加个边框和背景色,便于观察效果。
text-align:center,实现的水平居中;padding-top:50px,50px这个数值是经过计算得到的,padding-top的值具体算法如下:(DIV的高度 – 的高度)/2,但这里要注意,根据盒模型原理,我们还要将DIV原来的高度200减去padding-top的值,这样显示的才是正确的,否则DIV会变高。
方法二:
思路:只用padding属性,通过计算求得居中
结构代码同上;
CSS样式如下:
div {width:225px; height:150px; background-color:#eee; border:#000 1px solid; padding-top:50px; padding-left:75px;}
备注:这里DIV的宽高计算都遵循盒模型原理,计算方法同上。
方法三:
思路:
利用的margin属性将水平居中,利用DIV的padding属性将垂直居中。
结构代码同上;
CSS代码如下:
div {width:300px; height:150px; background-color:#eee; padding-top:50px; border:#000 1px solid;}
img {display:block; margin:0 auto;}
备注:
Img是内联元素,要设置其margin属性使其居中,就要将其转换为块元素display:block;然后利用margin:0 auto;实现的水平居中;(有的设计师为再加个div标签,然后通过div标签的margin实现居中
text-align: center 只能用于行内元素的水平居中,用在块级元素或容器中是无效的
试试这样:
<div class="metro-layout horizontal" style="margin: 0 auto;">
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完成水平垂直居中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)