前端面试之CSS

前端面试知识点概括之CSS

资料来源于 50道css基础面试题
进行一些扩充和总结

CSS盒模型

CSS盒模型

标准盒模型:content + padding + border + margin
低版本IE盒模型:content + padding + border + margin

标准盒:width 等于 content
低版本IE盒(低于IE6) :width 等于 content + padding + border

box-sizing的两个属性

content-box:一个标准模式下的盒模型的计算方式
border-box:一个怪异模式下的盒模型的计算方式


CSS选择器

  • id选择器(#)
  • 类选择器(.)
  • 标签选择器(div、h1、p、span)
  • 相邻选择器(h1+p)
  • 子选择器(ul>li)
  • 后代选择器(li a)
  • 通配符选择器(*)
  • 属性选择器(a[rel="external"])
  • 伪类选择器(a:hover, li:nth-child)

CSS中可以和不可以被继承的属性

不可以被继承的属性

  • 盒子模型的属性:
    width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right-style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top-color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、padding-left
  • 背景属性:
    • background、background-color、background-image、background-repeat、background-position、background-attachment
  • 定位属性
    • float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
  • display:规定元素应该生成的框的类型
  • 文本属性:
    • vertical-align:垂直文本对齐
    • text-decoration:规定添加到文本的装饰
    • text-shadow:文本阴影效果
    • white-space:空白符的处理
    • unicode-bidi:设置文本的方向

可以被继承的属性

  • 字体系列属性

    • font:组合字体

    • font-family:规定元素的字体系列

    • font-weight:设置字体的粗细

    • font-size:设置字体的尺寸

    • font-style:定义字体的风格

    • font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。

    • font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。

    • font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。

  • 文本系列属性

    • text-indent:文本缩进

    • text-align:文本水平对齐

    • line-height:行高

    • word-spacing:增加或减少单词间的空白(即字间隔)

    • letter-spacing:增加或减少字符间的空白(字符间距)

    • text-transform:控制文本大小写

    • direction:规定文本的书写方向

    • color:文本颜色

  • 元素可见性:visibility

  • 表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout

  • 列表布局属性:list-style-type、list-style-image、list-style-position、list-style

  • 生成内容属性:quotes

  • 光标属性:cursor

  • 页面样式属性:page、page-break-inside、windows、orphans

  • 声音样式属性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation


CSS三种引入方式

1.内联
2.页级
3.外联

内联:

 <body>
     <div style="width: 65px;height: 20px;border: 1px solid;">测试元素</div>
 </body>

页级:

  <head>
      <meta charset="utf-8" />
      <title>测试</title>
      <style type="text/css">
          div {
              width: 65px;
              height: 20px;
              border: 1px solid;
              background: greenyellow;
         }
     </style>
 </head>

外联:

link:<link rel="stylesheet" type="text/css" href="*.css" />
//link语法格式中,rel指的是关联(relation),type指的是类型,href指的是链接文件路径。
//link的作用主要用来引入CSS和网页图标,指示告知搜索引擎,网页之间的关系等。

@import:<style>@import url("*.css");</style>
//@import语法格式务必写在style标签中,后直接加文件路径即可。
//@import作用在CSS文件和页面中,可以在一个CSS文件中引入其他的CSS文件.  

外联CSS也可称为外部CSS,在实际的项目中通常使用此种方式,它只在页面中使用link或者@import引入即可,可维护性好;并且外联CSS是一个单独的文件,可以作用于多个页面,在修改的时候可以针对性地修改某一块区域,达到多个页面样式同时变更,相较于内联CSS和页级CSS,省去了到每个页面修改的步骤,提高了开发效率,同时一定程度提高了性能

页面导入样式时,使用link和@import有什么区别?

  • import有兼容的问题,link没有兼容问题
  • link会跟页面一起加载,import等页面加载完才会加载
  • import只能加载css,link除了加载css还能用于定义RSS,定义rel等连接属性等作用


CSS优先级

!import > 内联样式 > id > class > tag

优先级计算

元素选择符: 1
class选择符: 10
id选择符:100
元素标签:1000

  • !important声明的样式优先级最高,如果冲突再进行计算。
  • 如果优先级相同,则选择最后出现的样式。
  • 继承得到的样式的优先级最低。


CSS3新增伪类

  • p:first-of-type 选择属于其父元素的首个元素
  • p:last-of-type 选择属于其父元素的最后元素
  • p:only-of-type 选择属于其父元素唯一的元素
  • p:only-child 选择属于其父元素的唯一子元素
  • p:nth-child(2) 选择属于其父元素的第二个子元素
  • :enabled :disabled 表单控件的禁用状态。
  • :checked 单选框或复选框被选中。


display有哪些值

inline(默认)--内联
none--隐藏
block--块显示
table--表格显示
list-item--项目列表
inline-block
grid


BFC

块格式化上下文(Block Formatting Context,BFC)是Web页面的可视化CSS渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素的交互限定区域。

前端面试题-BFC(块格式化上下文)

清除浮动

前端面试题-clearfix(清除浮动)

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 基本常识与实践 css的每一个语句包括一个场所,以及这个场所的一个属性,还要应用到这个属性一个样式,一个典型的cs...
    丁俊杰_阅读 1,036评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,466评论 1 45
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,044评论 0 1
  • 长的漂亮确实会为你的人生增添许多好运,比如你去娃娃机旁抓个娃娃都会有小哥帮你支招,买衣服讲个价也是相当容易…… 可...
    小婷同学_阅读 586评论 12 17