头痛的css(div)布局
我所用的主题fstos在制作和测试阶段都用的ie6,因为是参照wordpress自带的几个主题写的,当时没有考虑css的兼容性问题,犯了“大跃进”错误(用firefox浏览简直是惨不忍睹),但由于工作很忙也没有时间修理它。这两天抽了些时间好好对他来了个大清理,出顺便将我遇到的主要问题总结一下,希望对大家有所帮助。
问题现象:ie中显示正常,firefox中却支离破碎。可大致总结为:有的本来居中的没有居中;本来在最下面的跑到上面来了;本来在一侧的结果到了别处;有的在100px处,可看起来像在105px(举例而已)处;同在一个父层中的两个子层,一个内容多些从高度上来说自然拉伸,但另一个子层却不跟着拉伸;一串英文过长超出了原设定的边界。接下来一个一个说:
1、本来居中的没有居中
在ie中显示是居中的(只需要设置body的text-align:center;不知道为什么感觉这样设置很奇怪。),在firefox中显示是靠左的即没有居中,重新检查了下发现需要设置margin来使相应对象居中:margin:0 auto; 设置的值的含义我就不说了。
2、本来在最下面的跑到上面来了
我采用的是footer单独一个行的布局,也就是说,在footer的左右是没有其他层的。在ie中显示为最下面(css同样也没有特别设置),在firefox中显示跑的上面来了,这个问题是因为没有设置clear,需要设置为clear:both; 即不允许该层两边有浮动对象。
3、本来在一侧的结果到了别处
在ie中sidebar显示在正常的页面中部的右侧(我的布局分为上中下三部分,上下分别为header和footer,中部为帖子列表和sidebar,sidebar在中部的右侧),在firefox中sidebar跑到了中部的下面,footer的上面。
起初我认为可能是sidebar设置为float:right;的缘故排除后,我将sidebar的float设置去掉,转而通过设置margin来使sidebar显示在中部的右侧,但它还是顽固的待在下面,最后通过反复的检查发现之前我在sidebar的一个ul样式中有一个clear:both;的设置,将它去掉后sidebar在firefox中回到上面了,但在ie中还是在下面(检查发现是因为刚才调试的时候将margin的值设置的太大了,firefox显示为继续的右移,而在ie中就转到下一排了,修改margin值后没有这个问题了)。
但是这样却发现ie中和firefox中有几个象素的差别,在ie设置为合适的位置,可在firefox中就靠左了些。这个问题我没有分析清楚,暂时认为是浏览器间的处理不同吧。最后我还原sidebar的float设置为right,这时两
相关文档:
模块:module.css
基本共用:base.css
布局、版面:layout.css
主题:themes.css
专栏:columns.css
文字:font.css
表单:forms.css
补丁:mend.css
打印:print.css
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度: ......
一 CSS文字属性:
color : #999999; /*文字颜色*/
font-family : 宋体,sans-serif; /*文字字体*/
font-size : 9pt; /*文字大小*/
font-style:itelic; /*文字斜体*/
font-variant:small-caps; /*小字体*/
letter-spacing : 1pt; /*字间距离*/
line-height : 200%; /*设置行高*/
......
几个css元素的简单解释 div ul dl dt oldiv,这个很常见,块级元素,div尽量少用,和table一样,嵌套越少越好
ol 有序列表。
<ol>
<li>……</li>
<li>……</li>
<li>……</li>
</ol>
表现为:
1……
2…& ......
下面这个CSS样式的表格,个人感觉颜色起到了很大的作用。如果不是两种颜色的对比效果好,可能也就是一般的表格:
先来看HTML:
<table width="590" cellspacing="1">
<caption>
text
</caption>
<thead>
<tr>
<th class="line1" scope="col">text< ......
绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。
对于定位的主要问题是要记住每种定位的意义。所以,现在让我们复习一下学过的知识吧:相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“相对于”最近的已定位祖先元素, ......