本文和大家重点讨论一下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;#p#
◆隐藏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?
- *{
- margin:0;padding:0
- }
- *{
- margin:0;padding:0
- }
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下。对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE影响CSS处理,作为W3C的标准,一定要加DOCTYPE声明。
【编辑推荐】