居中

作者: LMozart | 来源:发表于2016-08-10 00:31 被阅读39次

http://codepen.io/chriscoyier/pen/HulzB

参考资料:

CSS 居中(Center)方法大合集 https://segmentfault.com/a/1190000005353303

Flex 布局教程:语法篇http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

文章中涉及到的其他知识点:

css

伪类 ::before

弹性布局 flex

文本属性 white-space:nowrap

变换属性 transform:translate(-50%,-50%)

js

点击元素以外隐藏元素本身 closet

一、普通文档流居中

1.水平居中

a.行内元素居中

text-align:center

b.块级元素

单个

width:固定宽度;margin:auto

浮动元素居中

多个

并排显示,高度无要求 display:inline-block

并排显示,要求高度相同 display:flex 弹性布局

显示成一列 margin:auto

2.垂直居中

a.行内元素

单行内容

(1).link{

padding-top:30px;

padding-bottom:30px;

}

(2).center-text-trick{

height:100px;

line-height:100px;

white-space:nowrap;//不换行

}

多行内容

(1)verticle-align:middle

(2).flex-center-vertically{

display:flex;

justify-content:center;

flex-direction:column;

height:400px;   

} //父元素不指定高度也能垂直居中

(3).ghost-center{

position:relative;

}

.ghost-center::before{

content:" ";

display:inline-block;

height:100%;

width:1%;

vertical-align:middle;

}

.ghost-center p{

display:inline-block;

vertical-align:middle;

}

b.块级元素

元素高度已知

.parent{

position:relative;

}

.child{

position:absolute;

top:50%;

height:100px;

margin-top:-50px;/* account for padding and border if not using box-sizing: border-box; */

}

元素高度未知

(1). .parent{

position:relative;//position:fixed也行

}

.child{

position:absolute;

top:50%;

transform:translateY(-50%);

}

(2).parent{

display:flex;

flex-direction:column;

justify-content:center;

}

3.水平&垂直均居中

元素的宽度或高度未知

(1).parent{

position:relative;

}

.child{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%, -50%);

}

(2).parent{

display:flex;

justify-content:center;

align-items:center;

}

二、弹出层居中(实践中的重点)

项目中遇到的主要问题:弹出框宽度和高度未知的居中问题

(1)

外层modal框 position:fixed;width:100%;height:100%;top:0;left:0;z-index

内层modal-content块 position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)

(2)爱游邦

网站的遮罩.msgbox-bg{  //为了点击弹层元素以外隐藏弹层本身

display:none;

position:fixed;

z-index:999;

width:100%;

height:100%;

background-color:rgba(0,0,0,0.6);

}

弹层外层.msgbox-user{

display:none;

position:fixed;

right:0;

left:0;

top:0;

bottom:0

margin:auto;

width:466px;

z-index:9999;

}

弹层内容

#personal-tailor{

position:relative;

z-index:99999;

width:454px;

height:558px;

overflow:auto;

margin:auto;

}

(3)沃亚旅行

(1)登录类弹层  必须给定高度才能垂直居中,弹层只有一层比爱游邦少一个外层包装

(2)网站默认提示信息

(3)信息提示类弹层 

(4)我的消息侧栏层

目前是用iframe实现的

理想中想达到的效果,参考明道软件

相关文章

  • 多行文本固定高度垂直居中

    话不多说直接上代码! html: 居中居中居中居中居中居中 css: #Mian{ width:50...

  • css 居中

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

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

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

  • 居中布局

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

  • css 居中效果

    上下居中: 左右居中: 整页居中:

  • Ant Design使用 Table组件实现内容居中的效果

    未居中效果 未居中效果截图 居中效果 居中效果截图

  • HTML 水平居中和垂直居中

    水平居中 文字居中 图片居中 绝对定位元素 居中 相对定位 负边距居中 垂直居中 文字设置line-height ...

  • 常用的居中方法

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

  • CSS居中布局方案

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

  • 居中对齐

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

网友评论

      本文标题:居中

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