前端实习生面试题(二)--CSS


目录

1. 介绍一下盒子模型

2. box-sizing属性 

3. CSS选择器的权重的概念 

4. 介绍一下BFC 

5. 介绍一下块级元素和内联元素的区别 

5.    常见兼容问题 

6.为什么要初始化css样式 

7. 如何清除浮动(方法,优缺点,清除方法的原理) 

8.如何水平垂直居中 

9.  两列布局 

10. 三列布局 

11.栅格布局如何实现 

12. css选择器有哪些? 

13. Css哪些属性可以继承 

14. Css新增伪类有哪些 

15. px,em,rem区别 

16. position的属性值 

17. position:absolute与fixed的共同点和不同点 

18. display的属性值(常用) 

19.图片的alt和title属性有什么区别 

20.超链接在新窗口打开应该添加什么属性 

21.   display:none, visibility: hidden的区别 

22.   让一个元素隐藏,有哪些css属性可以做到 

23.   margin和padding的使用场景 

24.   link和@import区别 

25.css3新特性 




1.介绍一下盒子模型

CSS盒模型:网页设计中css技术所使用的一种思维模型。

CSS盒模型组成:外边距(margin),边框(border),内边距(paddimg),内容(content)

CSS盒模型分类:标准W3C盒子模型,IE盒子模型

区别:二者的区别在于height和width的计算。

标准W3C盒子模型:height=content  , width=content   

 IE盒子模型:height=content+padding+border, width=content+padding+border

2.box-sizing属性

属性主要用来控制元素盒模型的解析模式。默认值是content-box。

content-box:让元素维持W3C的标准盒模型。元素的宽度/高度由border + padding + content的宽度/高度决定,设置width/height属性指的是content部分的宽/高

border-box:让元素维持IE传统盒模型(IE6以下版本和IE6~7的怪异模式)。设置width/height属性指的是border + padding + content

3.CSS选择器的权重的概念

权重是指某一因素相对于某件事物的重要程度

首先可以

从css代码存放位置看权重优先级:即 内嵌样式>内部样式表>外联样式表>用户设置>浏览器默认

从样式选择器看权重优先级:

即!important>内联样式>ID选择器>类,伪类和属性选择器>标签选择器

4.介绍一下BFC

在css渲染中,bfc是按照块级盒子布局的,容器里面的子元素不会影响到外部元素。

当float的值不是none,

position的值不是relative和static,

display的值不是table-cell,table-caption,inline-block中的任何一个,

overflow的值不为visiable时可触发bfc。

主要解决的问题:解决父元素高度塌陷,解决垂直方向上兄弟元素的margin重叠。

5. 介绍一下块级元素和内联元素的区别

块级元素:

总是在新的一行上开始

高度、行高以及内外边距都可以控制

宽度默认是它容器的100%,除非设置一个值

它可以容纳内联元素和其他块级元素

内联元素:

和其他元素都在一行

高度,宽度以及顶部和底部外边距都不可控制

宽度就是它的文字或图片的高度,不可改变

内联元素只能容纳文本或其他内联元素

常见的块级元素:divh1~h6,dl,ul,ol,p,table

常见的内联元素:a,span ,select,strong,textarea, img,input

替换元素:浏览器根据元素的标签和属性,来决定元素显示的具体内容,且替换元素一般都有内在尺寸input,img,select,textarea,

非替换元素:直接将内容告诉浏览器,并将其显示出来。

5. 常见兼容问题

(1)png24位的图片在ie6浏览器上出现背景

解决方案:做成PNG8

(2)浏览器默认的margin和padding不同

解决方案:全局margin:0;padding:0

(3)IE6双边距问题,如果设置浮动,又设置了左或右边距,margin值会加倍

解决方案:在float的标签样式控制中加入_display:inline,将其转换为行内元素

(4)chrome中文界面下会默认将小于12px的文本强制按照12px显示

解决方案:可通过加入css属性-webkit-text-size-adjust:none解决

(5)超链接访问过后hover样式不出现,被点击访问过的超链接样式不在具有hover和active了

解决方案:改变css属性的排列顺序即L-V-H-A

(6)上下margin重合

解决方案:同时采用margin-top或margin-bottom

(7)html5,css3的新增标签和属性,低版本ie不兼容

6.为什么要初始化css样式

因为不同浏览器的默认样式不同,没有统一的规定,但是要兼容各个浏览器,必须要初始化css样式,如果不初始化css样式,就会造成页面展示效果出现差异

当然,初始化样式会对SEO(搜索引擎优化)有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。

7.如何清除浮动(方法,优缺点,清除方法的原理)

(1) 添加额外标签

通俗易懂,但是添加很多无意义的标签,后期维护难

(2)父元素设置overflow:hidden

实质触发BFC,溢出的内容会被隐藏

(3)父元素设置浮动

与父元素相邻的元素布局会收到影响

(4)父元素设置display:table

结构语义化正确,代码少,但是盒模型属性改变

(5)使用伪元素

.removefloat:before,.removefloat:after {

content:"";

display:table;

}

.removefloat:after { clear:both; }For IE 6/7 (trigger hasLayout)

 .removefloat { zoom:1; }

8. 如何水平垂直居中

水平居中:margin:0 auto;

水平垂直居中:

(1)子元素通过设置position:absolute;top:50%;left:50%;

transform: translate(-50%,-50%);或者减去高度和宽度的一半

(2)flex布局 display:flex;justify-content:center;align-items:center;


9.两列布局

(1)浮动float+margin-left /浮动float+bfc(overflow:hidden)

左侧定宽

.content{width: 100%;  height: 500px;  border: 1px solid #000; }

.left{  background:#fcc;   width: 200px;  float: left;   }

    .right{ background: #f66;  margin-left: 210px;}或者overflow:hidden

(2)绝对定位

左侧定宽,右侧设置left:左侧宽度,right:0;可自适应

.content{  position: relative;  width: 100%;  height: 500px;  border: 1px solid #000; }

    .left{ background:#fcc;  width: 200px;  position: absolute; }

    .right{ background: #f66; position: absolute; left: 210px; }

(3)flex布局(左/右侧定宽)

.content{  width: 100%;  height: 500px; border: 1px solid #000; display:flex; }

    .left{ background:#fcc;  width: 200px;  margin-right:10px; }

    .right{ background: #f66;  flex:1; }

10.三列布局

(1)绝对定位法-左右两侧绝对定位,中间margin指定左右外边距

三个div顺序可以随意改变,但是当浏览器缩小,中间部分会压缩

(2)自身浮动法-左右分别使用float,中间margin指定左右外边距

中间的div必须位于最后

(3)圣杯布局-两边定宽,中间自适应

.bd{ padding-left:150px; padding-right:190px; overflow: hidden; }

       .left{ position: relative; background: #E79F6D; width:150px; float:left; margin-left:-100%; left:-150px; }

        .main{  background: #D6D6D6;  width:100%; float:left; }

        .right{ position: relative; background: #77BBDD; width:190px; float:left; margin-left:-190px; right:-190px; }

(4)flex布局 父元素flex,左右两侧定宽,中间flex

11. 栅格布局如何实现


12. css选择器有哪些?

(1)id选择器(# myid)

(2)类选择器(.myclassname)

(3)标签选择器(div, h1, p)

(4)相邻选择器(h1 + p)

(5)子选择器(ul > li)

(6)后代选择器(li a)

(7)通配符选择器( * )

(8)属性选择器(a[rel = "external"])

(9)伪类选择器(a: hover, li:nth-child)

从样式选择器看权重优先级:

即!important>内联样式>ID选择器>类,伪类和属性选择器>标签选择器

13. Css哪些属性可以继承

font-size,font-family,color,text-indent(首行缩进)

14. Css新增伪类有哪些

p:first-of-type 选择属于其父元素的首个元素的每个元素。

p:last-of-type  选择属于其父元素的最后元素的每个元素。

p:only-of-type  选择属于其父元素唯一的元素的每个元素。

p:only-child    选择属于其父元素的唯一子元素的每个元素。

p:nth-child(2)  选择属于其父元素的第二个子元素的每个元素。

:enabled :disabled 控制表单控件的禁用状态。

:checked        单选框或复选框被选中。

15. px,em,rem区别

相同点:rem,px和em都是长度单位;

异同点:px的值是固定的,指定是多少就是多少,计算比较容易。

rem,em的值不是固定的,并且em会继承父级元素的字体大小,rem会继承根元素的字体大小,如果将根元素直接设置为10px,则可以方便计算。

16. position的属性值

(1)absolute 生成绝对定位的元素,相对于 static 定位以外的第一个祖先元素进行定位。

(2)fixed 生成固定定位的元素,相对于浏览器窗口进行定位(老IE不支持)。

(3)relative 生成相对定位的元素,相对于其在普通流中的位置进行定位。

(4)static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right z-index 声明)。

(5)inherit 规定从父元素继承 position 属性的值。

17. position:absolute与fixed的共同点和不同点

A:共同点:

(1)改变行内元素的呈现方式,display被置为inline-block;

(2)让元素脱离普通流,不占据空间;

(3)默认会覆盖到非定位元素上

B不同点:

  absolute的”根元素“是可以设置的,而fixed的”根元素“固定为浏览器窗口。

当你滚动网页,fixed元素与浏览器窗口之间的距离是不变的。

18. display的属性值(常用)

(1)block 块状元素

(2)inline 行内元素

(3)inline-block行内元素,但内容像块状元素一样显示

(4)list-item 块状元素,并添加样式列表标记(像ul一样,前面添加黑点)

19. 图片的alt和title属性有什么区别

title无论是文字链接还是图片上,鼠标放上去的时候,会弹出一段说明,这就是title

alt 则是当图片不存在或载入出错时,该文字则出现,代替该图片

20. 超链接在新窗口打开应该添加什么属性

target="_blank“     _self表示“相同窗口”。点击链接后,地址栏不变;_top表示整页窗口;   _parent表示父窗口。

21. display:none, visibility: hidden的区别

display:none,元素会变得不可见,并且不会再占用文档的空间。

visibility:hidden元素会变得不可见,依旧会占用文档的空间。

22. 让一个元素隐藏,有哪些css属性可以做到

1.display:none

2.visibility:hidden

3.opacity:0效果和visibility:hidden一样,但是可以被transition和animate。

23. margin和padding的使用场景

何时应当使用margin:

    (1)需要在border外侧添加空白时,

    (2)空白处不需要有背景(色)时,

    (3)上下相连的两个盒子之间的空白需要相互抵消时,比如15px+20px的margin,将得到20px的空白(注意地方见第三点)。

    何时应当使用padding

    (1)需要在border内侧添加空白时(往往是文字与边框距离的设置),

    (2)空白处需要背景(色)时,

    (3)上下相连的两个盒子之间的空白希望等于两者之和时,比如15px+20px的padding,将得到35px的空白。

    margin使用时应该注意的地方

    margin在垂直方向上相邻的值相同时会发生叠加,水平方向上相邻的值会相加。margin取负值时,在垂直方向上,两个元素的边界仍然会重叠。但是,此时一个为正值,一个为负值,并不是取其中较大的值,而是用正边界减去负边界的绝对值,也就是说,把正的边界值和负的边界值相加。

24. link和@import区别

(1) link属于HTML标签,而@import是CSS提供的;

(2) 页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;

   import只在IE5以上才能识别,而link是HTML标签,无兼容问题;

25.css3 新特性

(1)圆角(border-radius),阴影(box-shadow)

(2)文字加特效(text-shadow),线性渐变(gradient),变换(transform)

旋转rotate   缩放 scale   定位 translate  倾斜 skew

(3)新增伪类::selection

(4)媒体查询

当前html字符编码

浏览器兼容模式

设置视口

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容