CSS面试题整理
在IE6下无法定义小高度的容器,是因为有一个默认的行高。
IE6 下默认的字体尺寸大致在 12 - 14px 之间,当你试图定义一个高度小于这个默认值的 DIV 的时候, IE6 会固执的认为这个层的高度不应该小于字体的行高。所以即使你用 height:5px; 来定义了一个 DIV 的高度,实际在 IE6 下显示的仍然是一个 12px 左右高度的层。
此时,我们可以用overflow:hidden或line-height为0来解决
img底部的空白
- 将img定义为display:block
- 定义父容器为font-size:0
- vertical-align的方式,它的值可以是text-top|text-bottom|middle等
- display:inline
DIV CSS设计中如何让层在falsh上显示?
最好的办法是当需要的时候让flash暂时display:none掉
如何使得文字不换行?
定义包含文字的容器为:width:xxx;white-space:nowrap;
ie中如何让超出宽度的文字显示为省略号?
定义容器为:overflow:hidden;width:xxx;white-space:nowrap;text-overflow:ellipsis;(火狐中无效!)
DIV CSS设计中如何在点文字时也选中checkbox?
用label
一个div为margin-bottom:10px,一个div为margin-top:5px,为什么2个div之间的间距是10px而不是15px?
这种情况浏览器会自动进行margin重叠,只显示较大的margin值
解决方案:只设置其中一个div的margin为15px 。
如何解决ie下当li中出现2个或以上的浮动时,li之间产生的空白间隙?
设置li的vertical-align,值可以为top|text-top|middle|bottom|text-bottom
如何使得英文单词不发生词内断行?
word-wrap:break-word;
为什么被访问过的链接颜色没有变化?
定义链接的样式时,需要按照:link,:visited,:hover,:active这样的顺序,可以使用LoVeHAte(喜欢讨厌)来记忆
单行文本如何垂直居中?
height:xxx;line-height:xxx;高和行高相同即可
已知高度的容器如何在页面中水平垂直居中?
可以设置绝对定位,top为50%,然后margin-top为负
未知尺寸的图片图如何水平垂直居中?
在当前的父容器中加一个span,然后text-align:center;veritical-align:middle;或者display:table-cell;
标准模式和怪异模式下的盒模型区别?
标准模式下:实际宽度=width+padding+border
怪异模式下:实际宽度=width-padding-border。
如何解决IE下的3像素BUG?
设置marin-right:-3px;
DIV CSS设计中如何做1像素细边框的table?
- 设置table的border-collapse:collapse;
以图换字的几种方法及优劣分析
以图换字,其实是为了保证页面的可读性,这样既有利于搜索引擎,又有利于结构查看。由于这种方式被大多数人所认同,所以方法也越来越多:
方法1:使用text-indent的负值,将内容移出容器;
方法2:使用display:none,将内容隐藏;
方法3:使用padding将文字挤出容器之外,并将超出的部分hidden;
方法4:使用font设置超小字体,达到隐藏内容的目的
方法1(非常不推荐)看起来蛮简单,但其实有几个不理想的地方,1是比较吃资源;2是在ie5下面会出现滞后背景无法显示;3是内容为超链接时,长长的黑色虚框,让你抓狂。
方法2(不推荐)其实倒也不复杂,只是需要多添加一个标签,比较浪费;且display:none出现的几率太多,对seo也是会有些许影响的。
方法3(推荐)StandardModel下要2层标签才能搞定,不过相对方法1和2还是有优势的,推荐一下。
方法4(强烈推荐)只需要将字体和行高设置为0,然后overflow:hidden就行;不过这样在Safari和Chrome下还是会有1px高的字出现,所以应该再设置一下字体的颜色和背景图相同或相近。以此就同样可以达到隐藏内容的目的,暂时还没发现有什么副作用,强烈推荐。
DIV+CSS设计中如何容器透明,内容不透明?
只能用二层div实现
DIV+CSS设计中如何去掉链接的虚线框?
IE下:<ahref="#" οnfοcus="this.blur();"...>
FF下:a{outline:none;}
如何让min-height兼容ie6?
.min-height{min-height:100px;_height:100px;} 我是兼容的min-height