作为前端开发人员,在日常的页面制作时,不可避免的会碰上这样那样的问题,这时就需要寻找这些 XHTML及CSS常见问题的解决方案。我根据自己的经验和心得挑选和整理了一些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;
<style type="text/css">
table{border-collapse:collapse;border-color:#000;}
td{border-color:#000;}
</style>
<table cellspacing="0" cellpadding="0" border="1">
<tr>
<td>测试</td>
<td>测试</td>
</tr>
</table>

方法2:关键在于设置cellspacine="1",用间隙来作为边框
<style type="text/css">
table{background:#000;}
tr{background:#fff;}
</style>
<table cellspacing="1" cellpadding="0" border="0">
<tr>
<td>测试</td>
<td>测试</td>
</tr>
</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就行;不过这样在Safari和Chrome下还是会有1px高的字出现,所以应该再设置一下字体的颜色和背景图相同或相近。以此就同样可以达到隐藏内容的目的,暂时还没发现有什么副作用,强烈推荐。

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="#" οnfοcus="this.blur();"...>
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只是隐藏了内容而已,其占位空间仍然保留。

33、如何解决按钮在IE7及以下浏览器中随着value增多两边留白也随着增加的问题?

通常情况下,如果value的长度是固定不变的,可以给按钮设定一个固定的width,这是没有问题的,但在大多数情况下,按钮的value大多是可变的,所以给按钮设定width是不够理想的。
解决方法,给按钮加上:#overflow:visible;padding:0 10px;其中overflow用于清除ie两边的留白,padding用于使得各浏览器的留白一致。

[本日志转自 飘零雾雨

XHTML CSS 常见问题和解决方案相关推荐

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

    本文里面收集一些有关CSS的技巧.教程.工具和观点等,其中一些你也许早就运用的炉火纯青,也可能有的你听都没听说过.不管是新手还是高手,大家都继续学习吧. 一,Web 标准 要玩游戏,就得先了解规则.要 ...

  2. 表单html遇到的问题及处理,Web前端开发中常见问题及解决方案

    Web前端开发中常见问题及解决方案 时间:2017-04-24     来源:web前端开发小赢家 作为一名web前端开发工程师,我们在工作时免不了会遇到各种各样的问题.因为web前端开发相对于Jav ...

  3. 移动端常见问题及解决方案

    移动端常见问题及解决方案 转载来源: 益享天开  >>  手机移动端web前端常见问题整理  一 .meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面<meta n ...

  4. 初学者css常见问题_5分钟内学习CSS Grid-初学者教程

    初学者css常见问题 Grid layouts are fundamental to the design of websites, and the CSS Grid module is the mo ...

  5. OpenStack环境搭建(六:常见问题及解决方案总结)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  6. ESXi6.5环境搭建(五:常见问题及解决方案实验总结)

    实验目的及要求 完成VMware workstations安装,会应用相关操作: 完成虚拟机中ESXI6.5平台的安装及网络环境配置: 完成VMware vSphere Client 6.0软件在PC ...

  7. C#中使用WCF一些常见问题及解决方案

    C#中使用WCF一些常见问题及解决方案 参考文章: (1)C#中使用WCF一些常见问题及解决方案 (2)https://www.cnblogs.com/52XF/p/3740326.html 备忘一下 ...

  8. gulp几个常见问题及解决方案

    gulp几个常见问题及解决方案 参考文章: (1)gulp几个常见问题及解决方案 (2)https://www.cnblogs.com/hjson/p/10546708.html 备忘一下.

  9. Mycat常见问题与解决方案

    Mycat常见问题与解决方案 参考文章: (1)Mycat常见问题与解决方案 (2)https://www.cnblogs.com/it-deepinmind/p/11913519.html 备忘一下 ...

最新文章

  1. uniny 物体运动到一个点停止_隐藏的几何:各类随机物体中的深层联系
  2. Mysql性能优化二
  3. python3 进程
  4. java 数据结构源码--线段树
  5. ASPNet_Compiler学习总结
  6. JavaSE基础语法-笔记
  7. jquery 弹出窗口_jQuery弹出窗口和工具提示窗口动画效果
  8. 二维码生成易语言代码
  9. Testbench编写详解
  10. 医咖会免费SPSS教程学习笔记—广义线性模型
  11. 顶尖互联网公司 类名定义/数据库字段 - 英文名词解释
  12. 测试Risym 2.5A双路电机驱动模块:MX1919
  13. python口算训练出题
  14. 二、LaTeX学习笔记——基本结构、设置表格、文字变形及符号、插入图片
  15. MATLAB resample()函数
  16. EventBus使用详解的
  17. Win10 环境下 Mingw-w64,CMake,CLion 安装及配置 C/C++ 和 OpenCV 运行环境
  18. 看雪pwn入门--基础篇
  19. 10岁男童高考566分8岁开发操作系统
  20. android 定时器倒计时,Android CountDownTimer实现定时器和倒计时效果

热门文章

  1. 三个变量中怎么找出中间值_scratch图形化编程基础练习-变量交换
  2. 编写一个脚本判断某个用户是否处在活动模式_使用 TypeScript 编写爬虫
  3. 为什么要 conda 作用_烤箱预热有什么作用?为什么烘焙一定要预热烤箱?怎么正确预热?...
  4. 我有一个域名_一个域名可以绑定几个网站?域名解析多少子域名?
  5. JAVA 获取操作系统属性
  6. java 异步上传一张图片,java异步上传图片示例
  7. 远程桌面连接服务器,提示身份验证错误,要求的函数不受支持,但又找不到加密Oracle修正
  8. vue 引入html模板,vue单页面用script方式引入 使用模板时报错。 - 社区 - 妙味课堂...
  9. esp32查询剩余内存_SQL 查询语句先执行 SELECT?兄弟你认真的么?
  10. 一键获取数据库整体信息脚本