美文网首页
水平居中与垂直居中

水平居中与垂直居中

作者: 哈哈111 | 来源:发表于2017-02-09 15:19 被阅读0次

水平居中

inline元素用text-align:center
block元素用margin:0 auto;

垂直居中

Flex弹性盒子

Flex弹性盒子应该是解决垂直居中的最佳方案

main{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

给需要垂直居中的元素的父容器设置display:flex,并指定align-items: center
另外justify-content和flex-direction用于调整这两个子元素水平居中的排列顺序。

absolute绝对定位

思路:设成absolute后,指定top和left为50%,将元素的左上角定位点放到页面正中心。然后用负值margin一半的元素宽高度将元素拉回页面正中心

main{
position: absolute;
width: 18em;
height: 10em;
top: 50%;
left: 50%;
margin-top: -9em;
margin-left: -5em;
}

缺点:
缺点是你需要事先指定元素的width和height,否则无法给负margin设值,显得不够灵活。其实不必固定元素的宽高,改用translate()位移来替代负margin,实现将元素拉回页面正中心。

main{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

用绝对定位absolute让需要垂直居中的元素脱离文档流,指定top和left各50%将元素左上角定位点设到页面正中心。然后用translate()各负50%,将元素拉回页面正中心。思路和负margin是一致的,优势是不必固定元素的宽高了。缺点是absolute绝对定位威力太大,要考虑是否会对页面布局造成影响。

line-height

元素内容是单行,并且其高度是固定不变的,你只要将其“line-height”设置成和“height”值一样就Ok了。

<div class="vertical">content</div>

.vertical {
    height: 100px;
    line-height: 100px;/*值等于元素高度的值*/
}

优点:
适合在所有浏览器,没有足够空间时,内容不会被切掉

缺点:
仅适合应用在文本和图片上,并且这种方法,当你文本不是单行时,效果极差,差到让你感到恶心。
这种方法对运用在小元素上是非常有用的,比如说让一个button、图片或者单行文本字段。

相关文章

  • CSS居中布局方案

    水平居中 垂直居中 水平垂直居中

  • 常用的居中方法

    本文将介绍的居中方法有 ,水平居中,垂直居中和水平垂直居中。 一水平居中 二水平垂直居中

  • CSS居中大全(带截图)

    文字水平居中 图片水平垂直居中 图片与文字水平垂直居中 代码同上 DIV相对于页面垂直居中并且响应式 视口绝对垂直...

  • css居中方式总结(亲测有效)

    水平居中(行内元素水平居中、块级元素水平居中) 垂直居中 水平垂直居中 行内元素水平居中 text-align: ...

  • 元素居中的方式

    1 水平居中 2 垂直居中 3 水平垂直居中

  • CSS水平垂直居中总结

    CSS水平居中、垂直居中、水平垂直居中方法总结 文字的水平居中: 单行文字的垂直居中: 让有宽度的div水平居中:...

  • 居中布局

    水平居中 垂直居中 垂直水平居中 已知元素的宽高的居中布局 定位居中布局 盒模型居中布局 图片的垂直水平居中(利用...

  • CSS图片居中(水平居中和垂直居中)

    css图片水平居中 css图片垂直居中 css图片水平垂直居中

  • 居中对齐

    行内元素居中[#hang]垂直居中[#hc]水平居中[#hs] 块级元素居中[#kuai]垂直居中[#kc]水平居...

  • css 居中

    居中有水平居中和垂直居中。 水平居中+垂直居中 flex法 position法 就是计算呗~ 参考 CSS各种居中...

网友评论

      本文标题:水平居中与垂直居中

      本文链接:https://www.haomeiwen.com/subject/ergiittx.html