标签:form 水平 www. cloud width ica 技术分享 tab center
display:flex;
justify-content:center;
align-items:center;
width:100%;
一共12格,分成3块,每块占4列。居中的内容写在中间的那一块。
width:100%
撑满一整行。三个div都向左浮动float:left;
<div class="main">Main</div>
<div class="left">Left</div>
<div class="right">Right</div>
div.left { marin-left:100%}
div.right{ marin-left:自身的宽度}
div.main{
padding-left:左div的宽度;
padding-right:右div的宽度;
}
在div.main
内部再添加一个div.mc
:
然后设置div.mc的margin
值
margin-left:左div的宽度;
margin-right:右div的宽度;
现在,水平居中已经实现了;
在div.left,div.right,div.main
外面再加一个div.wrap
,
然后对div.con
设置 display:table
,对div.wrap
设置
display:table-cell;
vertical-align:middle;
position:relative
position:absolute;
top:50%;
left:50%;
transform: translate(-50%, -50%);
transform: translate(-50%, -50%);意思是向右移动自身50%的宽度,向下移动自身50%的高度。
top:50%;left:50%
还要 transform: translate(-50%, -50%);
最初:
加了top:50%;left:50%
后:
还需要再往左、往上挪一挪:
和方法4一样,用top和left挪到中间:
这之后用margin-left
和margin-right
进行处理:
div.child
设置宽度,然后设置margin
:top,left,bottom,right
计算公式:
如果子元素是行内元素,如<p>
,要注意一开始就要去掉margin和padding
方法4、5、6有的demo,详见 github
标签:form 水平 www. cloud width ica 技术分享 tab center
原文地址:https://www.cnblogs.com/n2meetu/p/9142602.html