作者:
ecsun
链接:
http://papa.iteye.com/blog/225125
发表时间: 2008年08月06日
声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!
浏览器兼容:Web标准化建站(DIV+CSS)必看的常见问题解决方法
经常我们用DIV+CSS建站的时候,发现在IE6,IE7,Firefox里面显示经常一塌糊涂,而在外贸网站建设中,因为浏览着对象是国外,Firefox的市场份额很大,为了让我们的客户能看到一个完美专业的显示效果,所以Firefox必须考虑!
以下是一些常见问题和解决方法
1、居中问题
div里的内容,ie默认为居中,而ff默认为左对齐。
使ff内容居中的方法是增加代码margin:auto;
2、高度问题
设有两横行div排列,上面的div设置高度 (height),如果div里的实际内容大于所设高度,在ff中会出现两个div重叠的现象;但在ie中,下面的div会自动给上面的div让出空间。所以为避免出现层的重叠,高度一定要控制恰当,或者干脆不写高度,让他自动调节。
或者设置:overflow:hidden
3、clear:both;
拿footer为例,有时候如果上面使用了float控制的n列的布局,那么在用ff浏览时footer很有可能不老实,到处乱动——因为他还在受到浮动(float)的控制。如果想让它老老实实呆在页面下方,在footer的div中写入clear:both;就可以达到效果了!
4、浮动ie产生的双倍距离
#box{
float:left;
width:100px;
margin:0 0 0 100px; //这种情况之下IE会产生200px的距离
display:inline; //使浮动忽略
}
5、重点讲解:display:block,inline两个元素 display(显示)
display:block; //可以为内嵌元素模拟为块元素
display:inline; //实现同一行排列的的效果
diplay:table; //for ff,模拟table的效果
Display:block元素的特点是:
总是在新行上开始;
高度,行高以及顶和底边距都可控制;
宽度缺省是它的容器的100%,除非设定一个宽度
<div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子。
display:inline就是将元素显示为行内元素.
inline元素的特点是:
和其他元素都在一行上;
高,行高及顶和底边距不可改变;
宽度就是它的文字或图片的宽度,不可改变。
<span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素的例子。
例子:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
#inline{width:400px; height:40px;background:#99CCCC;padding:15px 0px 0px 15px}
#inline ul{ margin:0px; list-style:none;}
#inline ul li{display:inline; font-size:12px;margin-left:5px}
#block{width:400px; height:40px;background:#FFCC99;padding:15px 0px 0px 15px}
#block ul{ margin:0px; list-style:none;}
#block ul li{display:block; font-size:12px;height:20px}
#div_inline{ width:800px;display:inline;height:120px;}
</style>
</head>
<body>
<div id="inline">
<ul>
<li>天天招生网
<li>心血管网
<li>高血压网
<li>先心病网
</ul>
</div>
<p>
<div id="block">
<ul>
<li>天天招生网</li>
<li>心血管网</li>
<li>高血压网</li>
<li>先心病网</li>
</ul>
</div>
</p>
</body></html>
6、IE与FF宽度和高度的问题
min -width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。整体最窄770px,最宽1024px,也就是说窗口小于770xp就出底部滚动条,如果大于1024px自动屏幕居中。IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。
CSS这样设计:
#container{
min-width: 600px;
width:expression(document.body.clientWidth < 600? "600px": "auto" );
}
第一个min-width是正常的;但第2行的width使用了Javascrīpt,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascrīpt的判断来实现最小宽度。
同样的办法也可以为IE实现最大宽度:
#container
{
min-width: 600px;
max-width: 1200px;
width:expression(document.body.clientWidth < 600? "600px" : document.body.clientWidth > 1200? ”1200px“ : ”auto";
}
7、FF: 支持 !important, IE 则忽略,
可用 !important (例:height:30px!important; height:26px;)为 FF 特别设置样式
div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以
FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行(背景图片需要设置 float: left )。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格
在FF和IE中的BOX模型解释不一致导致相差2px解决方法:
div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:
div css xhtml xml Example Source Code Example Source Code [www.52css.com]
div{maring:30px;margin:28px}
重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;
在Firefox/Mozilla 浏览器中,对象的实际宽度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width) + (margin-right);而在IE/Opera浏览器中,对象的实际宽度 = (margin-left) + width + (margin-right)。
已有 0 人发表留言,猛击->>这里<<-参与讨论
JavaEye推荐
分享到:
相关推荐
上百个CSS实例|CSS基础学习|CSS入门基础|CSS样式集合
CSS核心基础--CSS基础选择器 CSS选择器 什么是CSS选择器? CSS基础选择器 01 CSS基础选择器 要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则部分被称为选择器。 CSS...
DIV+CSS教程——第一天XHTML_CSS基础知识
书名:CSS基础教程 作者:(英)柯林森 著,刘志忠 等译 来源:人民邮电出版社 出版时间:2007年09月 ISBN:9787115164629 定价:49元 内容介绍: 本书是优秀的CSS 入门书,重点讲述了如何使用CSS 实现基于Web ...
css基础教程,适合新手使用,仅供参考
CSS基础-介绍及语法,css入门必备资料
Html+css基础
css基础知识简介,刚学习css布局的童鞋可以下载看看
html + css 基础学习html + css 基础学习html + css 基础学习 html + css 基础学习html + css 基础学习html + css 基础学习 html + css 基础学习html + css 基础学习html + css 基础学习 html + css 基础学习...
css基础教程 适合初学者的教程,好就给个评价,呵呵,
CSS基础知识-1.pdf
HTML+CSS基础知识点.pdf
学习CSS基础知识时自己做的笔记,希望帮到有缘人
CSS基础知识.pdf
50道CSS基础面试题(附答案) 1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 2 box-sizing属性? 3 CSS选择器有哪些?哪些属性可以继承?
DIV+CSS基础教程全攻略,让你熟练如何更好的掌握DIV+CSS
css 基础 代码 CSS之入门篇——推荐新手
HTML与CSS基础教程知识点总结,方便知识点的记忆和查询,用ue编辑的
结合博客前端CSS基础——常规流中练习对应图片代码,三大布局规则之一常规流布局,用常规流布局实现网页效果图。
作者是:Elizabeth Castro写的《HTML XHTML CSS 基础教程(第 6 版)》,特别适合初学者。非常经典的一部H5教程