未知宽高实现垂直居中

方法一 父table  + table-cell + vertical-align:center

思路:显示设置父元素为:table,子元素为:cell-table,这样就可以使用vertical-align: center,实现水平居中优点:父元素(parent)可以动态的改变高度(table元素的特性)

缺点:IE8以下不支持

.parent1{

    display: table;

    height:300px;

    width: 300px;

    background-color: #FD0C70;

}

.parent1 .child{

    display: table-cell;

    vertical-align: middle;

    text-align: center;

    color: #fff;

    font-size: 16px;

}

方法二:inline-block + vertical-align:middle

思路:使用一个空标签span设置他的vertical-align基准线为中间,并且让他为inline-block,宽度为0

注意 vertical-align 只对行内元素、表格单元格元素生效:不能用它垂直对齐块级元素

.parent span {

    display: inline-block;

    width: 0;

    height: 100%;

    vertical-align: middle;

    zoom: 1;

    *display: inline;

}

.parent .child {

    display: inline-block;

    color: #fff;

    zoom: 1;

    /*BFC*/

    *display: inline;

}

<div class="parent">

    <span></span>

    <div class="child">hello world-2</div>

</div>

缺点:多了一个没用的空标签,display:inline-blockIE 6 7是不支持的(添加上:_zoom1; *display:inline)。当然也可以使用伪元素来代替span标签,不过IE支持也不好,但这是后话了

方法三:absolute + translate

思路:父元素相对定位,子元素绝对定位,距离顶部 50%,左边50%,然后使用css3 transform:translate(-50%; -50%,这里translate的百分比是相对于元素自身)优点:高大上,可以在webkit内核的浏览器中使用缺点:不支持IE9以下不支持transform属性

方法四:flex

思路:使用css3 flex布局优点:简单 快捷缺点:兼容不好,详情见:http://caniuse.com/#search=flex

#23届找工作求助阵地##我的实习求职记录##前端##牛客创作充电计划#
全部评论

相关推荐

SadnessAlex:跟三十五岁原则一样,人太多给这些***惯坏了
点赞 评论 收藏
分享
双非阴暗爬行:我来看看笑死我了,这名字取得好想笑(没有不好的意思)
点赞 评论 收藏
分享
三题看不懂四题不明白二题无法AC&nbsp;T=int(input())&nbsp;for&nbsp;_&nbsp;in&nbsp;range(T):&nbsp;n=int(input())&nbsp;s=input().split()&nbsp;k,mx=1,1&nbsp;for&nbsp;i&nbsp;in&nbsp;range(len(s)-1):&nbsp;if&nbsp;len(s[i])&lt;len(s[i+1]):&nbsp;k+=1&nbsp;elif&nbsp;len(s[i])==len(s[i+1]):&nbsp;if&nbsp;s[i]&lt;=s[i+1]:&nbsp;k+=1&nbsp;...
恭喜臭臭猴子:第二题用栈就行。合法的括号直接出栈了,剩下的是不合法的,肯定都得一个一个走。出入栈的过程中得记下进栈的括号的下标。最后栈里剩下的括号如果相邻两个的下标不连续,说明它们中间有一个合法的括号序列被出栈,结果加一
投递拼多多集团-PDD等公司10个岗位 > 拼多多求职进展汇总 笔试
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客企业服务