css面试题一

1.继承

css的继承:就是给父级设置一些属性,子级继承了父级的该属性,这就是我们css中的继承。官方的解释,继承是一种规则,它允许样式不仅应用于特定的html标签元素,而且应用于其后代元素。

a.有继承的属性

1.字体系列属性

font:组合字体

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

font-weight:设置字体的粗细

font-size:设置字体的尺寸

font-style:定义字体的风格

2.文本系列属性

text-index:文本缩进

text-align:文本水平对齐

line-height:行高

word-spacing:增加或减少单词间的空白,即字间隙

letter-spacing:增加或减少字符间的空白,即字符间距

direction:规定文本的书写方向

color:文本颜色

3.元素的可见性

visibility

4.光标属性

cursor

5.所有元素可以继承的属性

visibility/cursor

6.内联元素可以继承的属性

字体系列属性/除text-indent,text-align之外的文本系列属性

7.块级元素可以继承的属性

text-align/text-indent

b.无继承的属性

1.display

2.文本属性

vertical-align:垂直文本对齐
text-shadow:文本阴影效果
white-space:空白符

3.盒子模型属性

width/height/margin/border/padding

4.背景属性

background/background-color/background-image/background-repeat/background-position

5.定位属性

float/clear/position/top/right/bottom/left/z-index/overflow

6.轮廓样式属性

outline

2.css预处理工具

css预处理器是一个能让你通过预处理器自己独特语法生成css的程序

  • sass
    兼容css
    扩展名.scss/.sass
  • less
    兼容css
    扩展名.less
  • stylus
    兼容css
    扩展名.styl
    采用缩进语法

3.行内元素/块级元素

  • 块级元素

1.总是从新的一行开始,即各个块级元素独占一行,默认垂直向下排列

2.高度,宽度,margin,padding都是可控的,设置有效

3.宽度没有设置时,默认为100%

4.块级元素中可以包含块级元素和行内元素

  • 行内元素

1.和其它元素在一行,即行内元素和其它元素都会在一条水平线上排列

2.高度,宽度是不可控,设置无效,由内容决定

3.根据标签语义化的理念,行内元素最好只包含行内元素,不包含块级元素

  • 转换

1.display:inline转换为行内元素

2.display:block转换为块状元素

3.display:inline-block转换为行内块状元素

  • 块状元素可以继承的属性

Text-indent

Text-align

Visibility

Cursor

4.盒模型

css盒模型本质是一个盒子,封装html元素,包括margin/border/padding/content

  • 标准模型

width=content

  • ie模型

width=border+padding+content

  • 自定义

Box-sizing:content-box(默认模式)
Box-sizing:border-box(ie模式)

  • js获取盒模型宽高

dom.style.width/height 获取行内样式的宽高
window.getComputedStyle(dom).width/height ie模式下
Dom.getBoundingClientRect().width/height 渲染后的宽高
dom.offsetWidth/offsetHeight 内容+内边距+边框不包括外边距

5.bfc块级格式化上下文

  • 概念:

bfc是css布局的一个概念,是一个独立的渲染区域,是一个环境,里面的元素不会影响外部的元素。

  • 问题:

父子元素和兄弟元素边距重叠,重叠原则取最大值,空元素的边距重叠取margin和padding的最大值

  • css创建bfc,脱离文档流

1.html元素

2.浮动

3.绝对定位

4.display:inline-block

5.表格元素

6.弹性盒子

7.overflow:hidden

  • 使用场景

1.自适应布局,避免多列布局由于宽度计算四舍五入换行

2.避免元素被浮动元素覆盖

3.父元素高度包含子浮动元素,清除内部浮动

4.去除边距重叠,分别属于不同的bfc

6.ifc行内格式化上下文

1.内部的box会在水平方向,一个接一个的放置

2.这些box的水平方向的margin/border/padding都有效

3.对齐方式line-height/vertical-align

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值