面试题集锦:CSS

137 阅读2分钟

1、css盒子模型

image.png

一个css盒子从外到内可以分成四个部分∶margin(外边距),border (边框),padding(内边距),content(内容)

默认情况下,盒子的 width 和 height 属性只是设置 content(内容)的宽和高

盒子真正的宽应该是∶内容宽度+左右填充+左右边距+左右边框。

盒子真正的高应该是∶内容高度+上下填充+上下边距+上下边框

2、Css3新增的特性

3、css 选择器

id 选择器,class 选择器,标签选择器,伪元素选择器,伪类选择器等

4、Css选择器优先级

  • 带有!important 标记的样式属性的优先级最高;

  • 样式表的来源不同时,优先级顺序为∶内联样式> 内部样式>外部样式> 浏览器用户自定义样式> 浏览器默认样式

  • 样式选择器的类型不同时,优先级顺序为∶id 选择器 >class 选择器>标签选择器;

  • 同一元素引用了多个样式时,排在后面的样式属性的优先级高;

  • 标签之间存在层级包含关系时,后代元素会继承祖先元素的样式。如果后代元素定义了与祖先元素相同的样式,则祖先元素的相同的样式属性会被覆盖。继承的样式的优先级比较低,至少比标签选择器的优先级低;

5、px,rem,em 的区别

  • px,绝对长度单位,像素 px是相对于显示器屏幕分辨率来说的

  • em,相对长度单位,相对于当前对象内文本的字体尺寸。em 的值并不是固定的,会继承父级元素的字体大小。

  • rem相对于html根元素的 font-size

如果想要在 1920 * 1080 px 设计稿中 1rem = 100px(基准值),在100vw(设备视口总宽度)的屏幕中 1rem = a(文档根元素html的字体大小)

1080 / 100 = 100vw / a 
=> a = 100vw / (1080 / 100)
=> a = 100vw / 10.8

html
  font-size calc((100vmin / 10.8))

flex 布局

segmentfault.com/a/119000002…

移动端适配

  • 百分比 如果屏幕尺度跨度太大,相对设计稿过大或者过小的屏幕不能正常显示,在大屏手机或横竖屏切换场景下可能会导致页面元素被拉伸变形,字体大小无法随屏幕大小发生变化。
  • rem
  • vh/vw方案
    • vw : 1vw 等于 视口宽度1%
    • vh : 1vh 等于 视口高度 的 **1% **
    • vmin : 选取 vwvh最小 的那个
    • vmax : 选取 vwvh最大 的那个
  • rem+vw/vh方案
  • 媒体查询

www.jianshu.com/p/2c33921d5…  

6、动画