XHTML CSS 常见问题和解决方案

作为前端开发人员,在日常的页面制作时,不可避免的会碰上这样那样的问题,我挑选了其中的一些进行总结归档,希望对大家会有所帮助:

1、如何定义高度很小的容器?

在IE6下无法定义小高度的容器,是因为有一个默认的行高。


列举2种解决方案:overflow:hidden | line-height:0

2、图片下方出现几像素的空白间隙?

这个也有多种解决方案,如将img定义为display:block,或定义父容器为font-size:0,

个人更推荐使用vertical-align的方式,它的值可以是text-top | text-bottom |
middle等

3、IE6双倍margin的BUG?

display:inline

4、文本垂直方向对齐文本输入框?

设置input为vertical-align:middle,textarea也是如此


5、为什么在web标准下ie无法设置滚动条的颜色?

将设置滚动条颜色的样式定义到html标签选择符上即可

6、如何让层在falsh上显示?

不可以,除了少数几个级别很高的家伙除外。

但可以将flash设置为透明,这时层就会透过falsh显示,近似于覆盖在flash之上了,如:


<param name="mode" value="transparent" />

7、如何使得文字不换行?

定义包含文字的容器为:width:xxx;white-space:nowrap;

8、ie中如何让超出宽度的文字显示为省略号?

定义容器为:overflow:hidden;width:xxx;white-space:nowrap;text-overflow:ellipsis;


9、如何在点文字时也选中checkbox?

< input id="test" type="checkbox" value="on" /><label
for="test">测试</label>

10、一个div为margin-bottom:10px,一个div为margin-top:5px,为什么2个div之间的间距是10px而不是15px?

这种情况浏览器会自动进行margin重叠,只显示较大的margin值

解决方案:只设置其中一个div的margin为15px

11、如何解决ie下当li中出现2个或以上的浮动时,li之间产生的空白间隙?

设置li的vertical-align,值可以为top | text-top | middle | bottom | text-bottom

12、如何使得英文单词不发生词内断行?

word-wrap:break-word;

13、为什么被访问过的链接颜色没有变化?

定义链接的样式时,需要按照:link,:visited,:hover,:active这样的顺序,可以使用LoVe HAte(喜欢讨厌)来记忆

14、单行文本如何垂直居中?

height:xxx;line-height:xxx; 高和行高相同即可

15、已知高度的容器如何在页面中水平垂直居中?

参阅:http://blog.doyoe.com/article.asp?id=74

16、未知尺寸的图片图如何水平垂直居中?

参阅:http://blog.doyoe.com/article.asp?id=159

17、标准模式和怪异模式下的盒模型区别?

标准模式下:实际宽度 = width + padding + border

怪异模式下:实际宽度 = width - padding -
border

18、如何解决IE下的3像素BUG?

参阅:http://blog.doyoe.com/article.asp?id=68

19、如何做1像素细边框的table?

方法1:设置table的border-collapse:collapse;

  1. <style type="text/css">

  2. table{border-collapse:collapse;border-color:#000;}

  3. td{border-color:#000;}

  4. </style>

  5. <table cellspacing="0" cellpadding="0" border="1">

  6. <tr>

  7. <td>测试</td>

  8. <td>测试</td>

  9. </tr>

  10. </table>

方法2:关键在于设置cellspacine="1",用间隙来作为边框

  1. <style type="text/css">

  2. table{background:#000;}

  3. tr{background:#fff;}

  4. </style>

  5. <table cellspacing="1" cellpadding="0" border="0">

  6. <tr>

  7. <td>测试</td>

  8. <td>测试</td>

  9. </tr>

  10. </table>

20、以图换字的几种方法及优劣分析

以图换字,其实是为了保证页面的可读性,这样既有利于搜索引擎,又有利于结构查看。

由于这种方式被大多数人所认同,所以方法也越来越多:

方法1:使用text-indent的负值,将内容移出容器;

方法2:使用display:none,将内容隐藏;

方法3:使用padding将文字挤出容器之外,并将超出的部分hidden;

方法4:使用font设置超小字体,达到隐藏内容的目的。

方法1(非常不推荐)看起来蛮简单,但其实有几个不理想的地方,

1是比较吃资源;2是在ie5下面会出现滞后背景无法显示;3是内容为超链接时,长长的黑色虚框,让你抓狂。



方法2(不推荐)其实倒也不复杂,只是需要多添加一个标签,比较浪费;且display:none出现的几率太多,对seo也是会有些许影响的。


方法3(推荐)Standard Model下要2层标签才能搞定,不过相对方法1和2还是有优势的,推荐一下。

方法4(强烈推荐)只需要将字体和行高设置为0,然后overflow:hidden;如font:0/0
arial;就同样可以达到隐藏内容的目的,暂时还没发现有什么副作用,强烈推荐。

21、如何容器透明,内容不透明?

假设在标准模式下有如下结构:

<div class="outer">
<p class="inner">我不要透明</p>
</div>

IE
only的方法:在父容器outer被设置为透明后,只需要将子容器inner设置为position:relative;

如果需要兼容其它浏览器,则以上的方法不适用,且结构也需改为:

<div class="outer"></div>

<div class="inner">我不要透明</div>

然后使用position + z-index搞定位置

22、如何去掉链接的虚线框?

IE下:<a href="#"...>

FF下:a{outline:none;}

23、如何使得页面字体行距始终保持n倍字体大小为基调?

在body内设置line-height:n即可,注,不可以为它加上单位

原因可参阅:http://blog.doyoe.com/article.asp?id=195

24、如何使用标准的方法插入flash?

    <div class="fla-show">
<object type="application/x-shockwave-flash" data="*.swf" width="*" height="*">
<param name="movie" value="*.swf" />
<img src="*.jpg" alt="用于不支持flash或屏蔽flash时显示" />
</object>
</div>

25、Standard Model如何让容器可以height:100%?


设置html,body{height:100%;margin:0;}

26、如何使得表格的宽度固定?

设置table为table-layout:fixed;这时表格将使用固定布局算法,多出的内容将不影响表格的宽度

27、如何让min-height兼容ie6?

.min-height{min-height:100px;_height:100px;}

<div class="min-height">我是兼容的min-height</div>

28、如何让鼠标变成手型且兼容所有现代浏览器?

cursor:pointer

29、如何实现ie6下的position:fixed?

参阅:http://blog.doyoe.com/article.asp?id=188

30、IE下如何对Standard
Mode与Quirks Mode进行切换?

IE6以下的浏览器不用触发,直接以Quirks Mode呈现页面。


IE6和IE7都可以触发的(在XHTML 的DTD申明前加上HTML注释):

<!--Let ie6 and ie7 into quirks mode-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

IE6的触发(在XHTML
的DTD申明前加上XML申明):

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

当没有使用DTD声明或者使用HTML4以下(不包括HTML4)的DTD声明时,基本所有的浏览器都是使用Quirks Mode呈现。

31、如何给一个元素定义多个不同的css规则?


<style type="text/css">
.a{color:#f00;}
.b{background:#eee;}
</style>

<div class="a b">测试</div>

如上例,该元素同时拥有a和b定义的样式规则。

多个规则之间使用空格分开,并且只有class能同时使用多个规则,id不可以

32、如何区别display:none与visibility:hidden?

相同的是display:none与visibility:hidden都可以用来隐藏某个元素;

不同的是display:none在隐藏元素的时候,将其占位空间也去掉;而visibility:hidden只是隐藏了内容而已,其占位空间仍然保留。

时间: 2024-11-07 21:16:09

XHTML CSS 常见问题和解决方案的相关文章

分针网—IT教育: Html / CSS常见问题的解决方案

1. 解决Safari下input光标过大 2. 设置浮层 3. CSS绘制三角形 4. 清除浮动 1) 浮动元素父级添加样式 2) 父元素后添加伪元素 3) 同样可以使用如下方式(兼容IE) 4) 在浮动元素后添加div.clear 注意点 1) .clearfix 应用在包含浮动子元素的父级元素上 2) 使用clear清除浮动会发生margin重叠显现,使用BFC清除浮动(在浮动元素的父元素上添加overflow: hidden;)则会把整个元素包起来,从而不会发生margin重叠现象 5.

学无止境的CSS(xHTML+CSS技巧教程资源大全)

本文里面收集一些有关CSS的技巧.教程.工具和观点等,其中一些你也许早就运用的炉火纯青,也可能有的你听都没听说过.不管是新手还是高手,大家都继续学习吧. 一,Web 标准 要玩游戏,就得先了解规则.要学CSS,就应该先了解一下Web标准.尽管看上去不是必须的(我在学CSS之前,根本不知道也不想知道Web标准是 个啥玩意儿).应该说,你是否学Web标准,跟你是否能学会CSS没有什么关系,但跟你能写出什么样的CSS,以及XHTML或其它代码,跟你能做出什么 质量的网页有很大的关系. 其实我自己对We

CSS常见问题及兼容性

CSS常见问题 1 (IE6,7)H5标签兼容 解决方法1:(只显示核心代码) 1<script> 2 //通过js动态的去创建H5标签 3 document.createElement("header"); 4 document.createElement("section"); 5 document.createElement("footer"); 6 </script> 7  8 <style> 9 //

100 个高质量的XHTML/CSS 模板

网上的免费 Web 模板多如牛毛,良莠不齐,这组模板是 Smashing Magazine推荐的,全部是基于 XHTML/CSS 的.在 W3C 标准愈趋重要的时代,自觉使用最规范的代码可以让您的设计更经得起时间的考验.XHTML 在代码上的要求比 HTML 更规范,而 CSS,几乎就是现代 Web 设计的代名词.这100个 XHTML/CSS 模板分三组推出.这是第一组,其它部分请参考第二组,第三组. Package | Registration is necessary. Consultan

div+css 和 xhtml+css是一回事么?

div+css 和 xhtml+css是一回事.只是说法不一样,表达得意思都是通过CSS定义DIV 布局. 那为什么地方要说成XHTML +css 呢? 以为我们做网站用CSS布局得时候不光是用了DIV 一个标签,还用了 ul ol li 等列表项目标签.所以说全一点就是HTML+CSS.为什么有得地方说称DIV+css呢? 以为我们以前做网站都是用 TABLE 标签,然后设定TABLE 标签得各种属性达到布局效果.现在我们要做得是 用DIV取代TABLE,用CSS设定DIV 得属性达到布局效果

NHibernate的常见问题及解决方案

问题1 : 异常:in expected: <end-of-text> (possibly an invalid or unmapped class name was used in the query) [from Customer] 解决方案:查看HQL语句查询的是否是实体类,映射文件属性是否正确:复制到输出目录à始终复制 ..生成操作à嵌入的资源. 问题2: 异常:缺少必需的属性“name”. 解决方案:查看映射文件里,是否哪个<property>节点缺少name属性 问题3

CSS的兼容性解决方案

什么是兼容性? 同一个网页,在不同浏览器下(IE6.IE7.IE8)下的显示效果不一致,这就是说"CSS不兼容". IETESTer可以同时测试IE5.5.IE6.IE7.IE8这些版本的网页效果. 解决CSS兼容性的方法 CSS全局设置的重要性 常用的CSS兼容性的总结 CSS HACK(不推荐使用) CSS全局样式的设置 1.清除网页中所有标签的内填充和外边距 ????body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form, input,

实战中总结出来的CSS常见问题及解决办法

一.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值. 二.同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次. 对一个标签同时使用class和id进行CSS定义,如果定义有重复,id选择符做的定义有效,是因为id的权重要比class大. 三.一个兼容性调整(IE和Mozilla)的笨办法: 初学可能会碰到这样一个情况:同样一个标签的属性在IE设置成A显示是正常的,而在Mozilla里必须要设成B才能正常显示,或者两个倒过来. 临时解

(转)第一天 XHTML CSS基础知识 文章出处:标准之路(http://www.aa25.cn/div_css/902.shtml)

欢迎大家学习<十天学会web标准>,也就是我们常说的DIV+CSS.不过这里的DIV+CSS是一种错误的叫法,建议大家还是称之为web标准. 学习本系列教程需有一定html和css基础,也就是指您之前做过网页,会用表格布局.如果您刚开始学习网页制作,不知道什么是表格布局及html和css,建议您先去充电,否则学习本教程会非常吃力或者根本就听不懂. 由于时间关系,本教程只讲解一些基础知识,让您从原来的表格布局跨入到web标准(div+css)布局,会使用web标准制作出常见的页面,这也达到了本教