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" />|<param name="mode" value="opaque" />
wmode属性,用于指定窗口模式,(window,opaque,transparent)如果选window那么其z轴优先级高于所有非窗口类型的元素,无论如何设置z-index。也不会有效果
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>
label的for属性,规定 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
position:relative; top:50%; margin-top:-(元素高度/2)
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;如font:0/0 arial;就同样可以达到隐藏内容的目的,暂时还没发现有什么副作用,强烈推荐。
css的几种以图换字方式小结:http://www.jb51.net/css/33711.html
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="#" onfocus="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、如何让鼠标变成手型且兼容所有现代浏览器?
cursorointer
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只是隐藏了内容而已,其占位空间仍然保留。
XHTML CSS 常见问题和解决方案的更多相关文章
- 分针网—IT教育: Html / CSS常见问题的解决方案
1. 解决Safari下input光标过大 2. 设置浮层 3. CSS绘制三角形 4. 清除浮动 1) 浮动元素父级添加样式 2) 父元素后添加伪元素 3) 同样可以使用 ...
- 学无止境的CSS(xHTML+CSS技巧教程资源大全)
本文里面收集一些有关CSS的技巧.教程.工具和观点等,其中一些你也许早就运用的炉火纯青,也可能有的你听都没听说过.不管是新手还是高手,大家都继续学习吧. 一,Web 标准 要玩游戏,就得先了解规则.要 ...
- CSS常见问题及兼容性
CSS常见问题 1 (IE6,7)H5标签兼容 解决方法1:(只显示核心代码) 1<script> ; ; ; ;;;};;;;;;;; ...
- 《PDF.NE数据框架常见问题及解决方案-初》
<PDF.NE数据框架常见问题及解决方案-初> 1.新增数据库后,获取标识列的值: 解决方案: PDF.NET数据框架,已经为我们考略了很多,因为用PDF.NET进行数据的添加操作时 ...
- 使用XHTML+CSS构架的好处到底有哪些?
使用XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰. 1.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法: div{ma ...
- 关于DIV+CSS和XHTML+CSS的理解
WEB标准是一系列标准的集合,并不是仅“DIV+CSS”布局就可以实现.以CSS网页布局只是标准的基础之一.“DIV+CSS”布局只是一种通俗的称呼罢了.而我们学习的目标在于以XHTML建立良好的语义 ...
- (转)第一天 XHTML CSS基础知识 文章出处:标准之路(http://www.aa25.cn/div_css/902.shtml)
欢迎大家学习<十天学会web标准>,也就是我们常说的DIV+CSS.不过这里的DIV+CSS是一种错误的叫法,建议大家还是称之为web标准. 学习本系列教程需有一定html和css基础,也 ...
- 关于在同一母版页中使用多个CSS文件的解决方案
原文:关于在同一母版页中使用多个CSS文件的解决方案 以前都用.NET1.1没遇到这问题,现在换了2.0开始学着使用母版,结果就遇到了这个问题,在百度上一搜索才发现有不少人提出这个问题,但没找到好的解 ...
- 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案
点击返回自学华为IoT物流网 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案 1. 家庭中遇到的问题 2.1 华为智慧家庭概念的发展历程 2.2 华为智慧家庭的解决方案架构 智慧家庭主要 ...
随机推荐
- LDAP Authentication for openNebula3.2
LDAP Authentication 3.2 The LDAP Authentication addon permits users to have the same credentials as ...
- 执行startx后Ubuntupassword正确进不去的问题
今天在命令行里敲了 startx ,然后系统重新启动.输入password后,跳转到一下界面.之后又返回到登陆界面.一直这样循环输入password.进不去系统. 然后不得不用手机在网上查找解决的方法 ...
- PostMessage和SendMessage的区别
1, PostMessage只把消息放入队列,不管其他程序是否处理都返回,然后继续执行,这是个异步消息投放函数.而SendMessage必须等待其他程序处理消息完了之后才返回,继续执行,这是个同步消息 ...
- image元素的src属性值与getAttribute('src')值
采集的时候,当采集到一些不可用的照片就将其剔除掉 我的解决思路是new一个img对象, 然后将采集过来的图片赋值给这个img, 然后分别处理img的onerror和 onload, 当在onerror ...
- 2014.8.20break,continue,字符串,数字和日期
(一)break与continue break——彻底终断循环 continue——中断本次循环,继续下次循环 break举例: //求100以内所有质数 ; i <= ; i++) { ;// ...
- ADO知识的运用二(Day 28)
可能是最近有些沉迷于电视剧了,所以,好多天都没写总结了.我知道这样不好,但又老管不住自己,也许是我自控力太差了吧......呵呵,如果在不写总结,可能以后就会成为习惯了.所以今天要赶紧补上...... ...
- BZOJ 1951: [Sdoi2010]古代猪文( 数论 )
显然答案是G^∑C(d,N)(d|N).O(N^0.5)枚举N的约数.取模的数999911659是质数, 考虑欧拉定理a^phi(p)=1(mod p)(a与p互质), 那么a^t mod p = a ...
- MySQL 基础学习
http://www.w3school.com.cn/sql/ 1.limit x,y 或 limit z :选取从x开始的y条数据 或 选取最开始的 z条数据 , 2.like '%N%' : ...
- hdu 2824The Euler function
题目链接 快速求出a到b之间所有数的欧拉函数. 一个一个求肯定是不行的, 我们知道欧拉函数的公式为phi(n) = n*(1-1/i1)*(1-1/i2).......i1, i2为素因子. 那么我们 ...
- Linux ---> 监控JVM工具
Linux ---> 监控JVM工具shkingshking 发布时间: 2013/10/10 01:27 阅读: 2642 收藏: 26 点赞: 1 评论: 0 JDK内置工具使用 jps(J ...