美文网首页
前端面试之CSS

前端面试之CSS

作者: 极奏 | 来源:发表于2019-04-11 09:51 被阅读0次
    前端面试知识点概括之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(清除浮动)

    相关文章

      网友评论

          本文标题:前端面试之CSS

          本文链接:https://www.haomeiwen.com/subject/kbqaiqtx.html