CSS面试题

来源:互联网 发布:黑色星期五抢购软件 编辑:程序博客网 时间:2024/05/18 01:59
1.在IE6下无法定义小高度的容器,是因为有一个默认的行高。
列举2种解决方案:overflow:hidden或line-height:0
2.将img定义为display:block,或定义父容器为font-size:0,个人更推荐使用vertical-align的方式,它的值可以是text-top|text-bottom|middle等
3.display:inline

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

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

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

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

6、DIV CSS设计中如何让层在falsh上显示?

不可以,除了少数几个级别很高的家伙除外。
但可以将flash设置为透明,这时层就会透过falsh显示,近似于覆盖在flash之上了,如:

  • <paramnameparamname="mode"value="transparent"/>

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

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

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

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

9、DIV CSS设计中如何在点文字时也选中checkbox?

  • <inputidinputid="test"type="checkbox"value="on"/><labelforlabelfor="test">测试</label>

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

这种情况浏览器会自动进行margin重叠,只显示较大的margin值
解决方案:只设置其中一个div的margin为15px 。              

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

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

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

word-wrap:break-word;

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

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

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、DIV CSS设计中如何做1像素细边框的table?

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

    <styletypestyletype="text/css">
    table{border-collapse:collapse;border-color:#000;}  td{border-color:#000;}  </style>
    <
    tablecellspacingtablecellspacing="0"cellpadding="0"border="1">
    <tr>
    <td>
    测试</td>
    <td>
    测试</td>
    </tr>

  • </table>

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

    <styletypestyletype="text/css">
    table{background:#000;}  tr{background:#fff;}  </style>
    <
    tablecellspacingtablecellspacing="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(推荐)StandardModel下要2层标签才能搞定,不过相对方法1和2还是有优势的,推荐一下。
方法4(强烈推荐)只需要将字体和行高设置为0,然后overflow:hidden就行;不过这样在Safari和Chrome下还是会有1px高的字出现,所以应该再设置一下字体的颜色和背景图相同或相近。以此就同样可以达到隐藏内容的目的,暂时还没发现有什么副作用,强烈推荐。

21、DIV CSS设计中如何容器透明,内容不透明?

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

    <divclassdivclass="outer">
    <
    pclasspclass="inner">我不要透明</p>
  • </div>

IEonly的方法:在父容器outer被设置为透明后,只需要将子容器inner设置为position:relative;如果需要兼容其它浏览器,则以上的方法不适用,且结构也需改为:

    <divclassdivclass="outer"></div>
  • <divclassdivclass="inner">我不要透明</div>

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

22、DIV CSS设计中如何去掉链接的虚线框?

IE下:<ahref="#"onfocus="this.blur();"...>
FF下:a{outline:none;}

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

在body内设置line-height:n即可,注,不可以为它加上单位
原因可参阅:http://blog.doyoe.com/article.asp?id=195

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

<divclassdivclass="fla-show"> <objecttypeobjecttype="application/x-shockwave-flash"data="*.swf"width="*"height="*"> <paramnameparamname="movie"value="*.swf"/> <imgsrcimgsrc="*.jpg"alt="用于不支持flash或屏蔽flash时显示"/> </object> </div>
25、StandardModel如何让容器可以height:100%?

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

26、DIV CSS设计中如何使得表格的宽度固定?

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

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

.min-height{min-height:100px;_height:100px;}  <divclassdivclass="min-height">我是兼容的min-height</div>
28、DIV CSS设计中如何让鼠标变成手型且兼容所有现代浏览器?

cursor:pointer

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

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

30、IE下如何对StandardMode与QuirksMode进行切换?

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

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


<!--Letie6andie7intoquirksmode--> <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
IE6的触发(在XHTML的DTD申明前加上XML申明):


<?xmlversionxmlversion="1.0"encoding="utf-8"?> <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
当没有使用DTD声明或者使用HTML4以下(不包括HTML4)的DTD声明时,基本所有的浏览器都是使用QuirksMode呈现。

31、DIV CSS设计中如何给一个元素定义多个不同的css规则?

<styletypestyletype="text/css"> .a{color:#f00;}  .b{background:#eee;}  </style>  <divclassdivclass="ab">测试</div>
如上例,该元素同时拥有a和b定义的样式规则。
多个规则之间使用空格分开,并且只有class能同时使用多个规则,id不可以

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

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

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

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 皮表带带久了有异味怎么办 英语中用词不当和拼写错误怎么办 爬楼梯的购物车车轮坏了怎么办? 帮别人买东西不给我钱怎么办 老师念错名字有同学指出来你怎么办 老公婚前买的房子婆婆想霸占怎么办 我想查我的基金收益情况怎么办 儿童票买好了但大人退票了怎么办 没有享受到国家政策的农民怎么办? 股票涨了没抛然后一直跌怎么办 苹果手机放久了开不了机怎么办 部门要辞退你你不想走该怎么办 口头说辞职现在又不想走了怎么办 网上买的理财不给退本金怎么办 买东西遇到态度不好的人你会怎么办 app在下载东西时被停用了怎么办 买东西填错地址 但已签收怎么办 网购手机受骗后电话打不通怎么办 淘宝买的东西发错了怎么办 淘宝上买的东西发错了怎么办 淘宝上买的东西发多了怎么办 淘宝上买的东西出现问题怎么办 淘宝买东西未收到货显示签收怎么办 网上一张车票两人同时付款了怎么办 微信付款时显示银行卡被锁定怎么办 微信忘记支付密码怎么办没有银行卡 支付宝赏金扫码支付不行怎么办 网购收货时发现货物已破损怎么办 货物丢失了不承认调查出来了怎么办 小米商城已签收未收到了怎么办 网购的一只荷兰猪现在怎么办 中通快递的掌中通好评怎么办 唯品会快递被签收却没收到货怎么办 拼多多快递签收了但没收到货怎么办 顺丰代收签收成功要强制退款怎么办 淘宝付了钱如果商家没货了怎么办 别人拿走我的货不给钱怎么办 快递出途中损坏签单后才发现怎么办 顾客支付宝少付了钱人走了怎么办 顾客通过收钱码付的钱少了怎么办 寄顺丰快递收件人号码填错了怎么办