Ladyseven 2010-08-31
本文和大家重点讨论一下Firefox嵌套CSS中div标签的居中问题的解决方法,主要包括使用line-height垂直居中,清除容器浮动,不让链接折行,始终让Firefox显示滚动条等内容。
Firefox嵌套CSS中div标签的居中问题的解决方法
假定有如下情况:
viewplaincopytoclipboardprint?
dividdivid="a"> dividdivid="b">div> div> dividdivid="a"> dividdivid="b">div> div>
如果要实现b在a中居中放置,一般只需用CSS设置a的text-align属性为center。这样的方法在IE里看起来一切正常;但是在Firefox中b却会是居左的。解决办法就是设置b的横向margin为auto。例如设置b的CSS样式为:margin:0auto;。
最好的解决方案往往是最简单的,这里列出8个CSS技巧,非常简单,简单到只需要写一行代码,只需要定义一个属性参数。非常适合学习CSS的新手朋友阅读。
◆使用line-height垂直居中
line-height:24px;
使用固定宽度的容器并且需要一行垂直居中时,使用line-height即可(高度与父层容器一致)。
◆清除容器浮动
viewplaincopytoclipboardprint?
#main{
overflow:hidden;
}
#main{
overflow:hidden;
}
◆不让链接折行
viewplaincopytoclipboardprint?
a{
whitewhite-space:nowrap;
}
a{
white-space:nowrap;
}
上面的设定就能避免链接折行,不过个人建议长链接会有相应的这行(有关换行方面的讨论,参看圆心的记录)。
◆始终让Firefox显示滚动条
viewplaincopytoclipboardprint?
html{
overflow:-moz-scrollbars-vertical;
}
html{
overflow:-moz-scrollbars-vertical;
}
也可以使用
viewplaincopytoclipboardprint?
body,html{
min-height:101%;
}
body,html{
min-height:101%;
}
◆使块元素水平居中
margin:0auto;
其实就是
viewplaincopytoclipboardprint?
margin-left:auto; margin-right:auto; margin-left:auto; margin-right:auto;
这个技巧基本上所有的CSS教科书都会有说明,别忘记给它加上个宽度。Exploer下也可以使用
viewplaincopytoclipboardprint?
body{
text-align:center;
}
body{
text-align:center;
}
然后定义内层容器
text-align:left;
◆隐藏Exploertextarea的滚动条
viewplaincopytoclipboardprint?
textarea{
overflow:auto;
}
textarea{
overflow:auto;
}
Exploer默认情况下textarea会有垂直滚动条。
◆设置打印分页
viewplaincopytoclipboardprint?
h2{
page-break-before:always;
}
h2{
page-break-before:always;
}
page-break-before属性能设置打印网页时的分页。
◆删除链接上的虚线框
viewplaincopytoclipboardprint?
a:active,a:focus{
outline:none;
}
a:active,a:focus{
outline:none;
}
Firefox默认会在链接获得焦点(或者点击时)加上条虚线框,使用上面的属性可以删除。
◆最简单的CSS重置
viewplaincopytoclipboardprint?
background-color: blue;background-color: yellow;<input type="button" value="变蓝" @click="changeColorT