|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在Div+CSS标准化的影响下,网页设计人员已经把这一要求作为行业标准。那么什么是Div+CSS标准?Div+CSS的标准化设计到底有什么好处?
破洛洛文章简介:使用CSS让元素垂直居中是个很头疼的成绩,这里就先容两种复杂有用的办法。
使用CSS让元素垂直居中是个很头疼的成绩,这里就先容两种复杂有用的办法
办法一:使用行高(line-height)定位
line-height一般是用于调治一段笔墨的行与行之间的间隔,大概说两行笔墨之间的间隔,假如行高是500px,那末每行中的笔墨间隔本行的顶部就是250px,假如将笔墨的行高设为500px,而且表面的容器的高度也为500px,一样能够完成垂直居中,可是用它来完成垂直居中,也是出缺点的,就是假如内容过量,笔墨就会跑到下一行,那末内容就不成能垂直居中了。
HTML代码:
<h1>Hi,Im<span>VerticallyAligned</span>WithintheH1</h1>
CSS代码:
body{
margin:0;
padding:0;
background:#1d1d1d;
font-size:10px;
font-family:Verdana,Arial,Helvetica,sans-serif;
}
h1{
font:3emGeorgia,"TimesNewRoman",Times,serif;
color:#fff;
height:500px;
line-height:500px;
text-align:center;
border:10pxsolid#999;
}
h1span{
font-weight:bold;
font-size:1.5em;
color:#fff000;
}
p{
font-size:1.3em;
color:#999;
}
strong{
color:#fff;
}
办法二:使用相对定位
先来看看效果,检察演示
这个办法有个弱点我必需指出,就是表面的块状元素,必需指定高度,以是假如你在内里放静态的内容的话,成果会很糟滴~
HTML代码:
<divclass="vert">
<h1>Hi,Im<span>VerticallyAligned</span></h1>
<p>Abigosudomarapaulatimodio,accumsanluptatumnibhnibhreferometuoopesutfatua.Acsietferesimilis<strong>Using</strong>augue<strong>absolute</strong>validus.Regula<strong>positioning</strong>eujusvel,indolesfereiaceoeasimilis.Velitpraemittonullavelluctussecundum.</p>
</div>
CSS代码:
这类用相对定位来完成的垂直居中,取决与元素的宽度和高度,你能够用上面这两个公式来盘算元素的右边距和上边距
元素的宽度/2=负右边距
元素的高度/2=负上边距
在这个例子中,我们就是这么盘算的
.vert{
width:580px;
height:190px;
position:absolute;
top:50%;
left:50%;
margin:-95px00-290px;
}
完全CSS代码
body{
margin:0;
padding:0;
background:#1d1d1d;
font-size:10px;
font-family:Verdana,Arial,Helvetica,sans-serif;
}
h1{
font:4emGeorgia,"TimesNewRoman",Times,serif;
color:#fff;
border-bottom:5pxdotted#999;
margin:0;
padding:0010px;
}
h1span{
font-weight:bold;
display:block;
font-size:1.5em;
color:#fff000;
}
p{
font-size:1.3em;
color:#999;
}
strong{
color:#fff;
}
.vert{
width:580px;
height:190px;
position:absolute;
top:50%;
left:50%;
margin:-95px00-290px;
}
成绩延长
假如元素的表面另有一个父级元素,假如才干让元素垂直居中于父级元素外部?好比上面的代码,多了一个父级元素
<divclass="container">
<divclass="vert">
<h1>Hi,ImNested&<span>VerticallyAligned</span></h1>
<p>Abigosudomarapaulatimodio,accumsanluptatumnibhnibhreferometuoopesutfatua.Acsietferesimilis<strong>Using</strong>augue<strong>absolute</strong>validus.Regula<strong>positioning</strong>eujusvel,indolesfereiaceoeasimilis.Velitpraemittonullavelluctussecundum.</p>
</div>
</div>
这时候候,就必需在界说父级元素的CSS代码中到场position:relative;才干够使外部元素垂直居中于父级外部,代码以下:
.container{
position:relative;
height:500px;
width:800px;
border:10pxsolid#999;
background:#000;
margin:20px;
}
</p>
支持浏览器的向后兼容,也就是无论未来的浏览器大战,胜利的是IE7或者是火狐,您的网站都能很好的兼容。 |
|