CSS 高频面试题

本文详细探讨了CSS的各类核心概念,包括盒模型、行内元素与块级元素的区别、行内块元素特点、常见元素类型,以及CSS定位、选择器优先级、隐藏元素方法。此外,还深入介绍了CSS3新特性,如Flex布局,以及transition和animation的区别。通过这些内容,读者可以更好地理解和掌握CSS的高级用法和面试中可能出现的问题。
摘要由CSDN通过智能技术生成

1、css 盒模型

盒模型是计算一个标签在网页中所占面积,是网页布局最基本的技术点,主要有四个组成部分,从内向外的话是内容区域的宽高,内边距padding,边框,外边距margin。

盒子模型分两种W3C标准盒模型和IE怪异盒模型。

在W3C标准盒模型中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在怪异模式下,IE的宽度和高度还包含了padding和border

标准模式和怪异模式的区别?
①盒模型:IE下标准模式为:盒模型的宽高一般是content。怪异模式下的宽度是包含了内边距和边框的
②怪异模式中IE6/7/8都不识别!important声明
③设置行内元素宽高,标准模式下不生效,怪异模式下生效
④margin:0 auto,在标准模式下会水平居中,怪异模式下不会

我们可以使用box-sizing 属性让盒模型在两种模式之间转换,box-sizing :content-box 是标准盒模型,设置为border-box时是怪异模式

2、行内元素和块级元素的区别

1、所占空间上的区别:块级元素会占据一行,垂直方向排列;行内元素不会独占一整行而是在同一行水平方向排列
2、包含前台关系的区别:块级元素可以包含行内元素和块级元素,而行内元素只能包含行内元素,不能包含块级元素
3、边距属性的区别:块级元素的margin上下左右都生效,而行内元素上下设置不能生效,左右可以生效;

除了这两种还有行内块元素,行内块元素是xxxx(看下面的解释)常见的行内标签有xxx,行内块标签有xxx,块级标签有xxx,可以通过display属性进行转换,将块标签设置display:inline-block 标签就变成了行内块。

3、行内块元素有什么特点呢?

行内块元素相当于是以行的形式展示块级元素,和块级元素一样可以设置宽高内外边距,同时内部也可以包含块级和行内元素;

4、常见的行内元素和块级元素有哪些呢

常见的行内元素:
<span>:用于对文本进行分组,并对其应用样式。
<a>:用于创建超链接。
<label>: 关联输入框并获取焦点

行内块元素:
<img>:用于插入图像。
<input>:用于创建输入控件。
<button>:用于创建按钮。
<textarea>:用于创建多行文本输入框。
常见的块级元素:
div、p、h1-h6、ul、li、table等

5、css 几种定位的区别

css 定位的作用是控制元素在页面中的位置和布局,
通过定位可以将元素放在指定的位置,css定位有五种方式
1、相对定位 postion:relative相对元素在原文档流中的位置定位,设置相对定位不会脱离文档流,元素位置的变化不会影响其他元素
2、绝对定位position:absolute,绝对定位参考的是它的包含块,如果这个元素没有脱离文档流那么它的包含块就是父元素;如果脱离了文档流,就会找第一个拥有定位属性的祖先元素,如果没找到就以浏览器的视口为参考,设置了绝对定位后元素会脱离文档流,会对后面的兄弟元素和父元素有影响。
3、固定定位postion:fixed,相对于浏览器视口定位,会脱离文档流;
4、粘性定位postion:sticky它基本上是相对位置和固定位置的混合体,它允许被定位的元素表现得像相对定位一样,直到它滚动到某个阈值点(例如,从视口顶部起 10 像素)为止,此后它就变得固定了,不会脱离文档流,参考点是距离它最近的一个拥有滚动机制的祖先元素
5、static 静态定位,默认的定位方式,元素按正常的文档流布局

6、css的选择器和优先级

css 选择器d的作用就是选择需要指定样式的标签,并能让css样式在对应的标签生效。
css选择器有通配符选择器、id选择器、类选择器、属性选择器、后代选择器、子元素选择器、并集选择器。。。
css 选择器的优先级是如何计算的,根据选择器的权重
权重如何计算?格式:(a,b,c)
a: id 选择器的个数
b:类、伪类、属性选择器的个数
c:标签、伪元素选择器的个数
每一项逐一比较,如(0,2,1),比(0,2,0)权重更高。
当权重相同时,如何选中? 后来者居上,后写的优先
所以css选择器的优先级排序分别是:
0、!important
1、行内样式
2、id选择器
3、类、属性、伪类选择器(权重相同)
4、标签、伪元素选择器(权重相同)

7、隐藏元素的方法和区别

一、display: none:会将元素从正常的文档流中移除,并且不会占据任何空间,但其实该元素在HTML代码中仍然存在,只是它不会在页面上显示。不会响应绑定的监听事件,设置为none 后会影响页面布局。
二、visibility: hidden:元素设置了这个属性后会隐藏但是页面依然占据中空间,所以不会改变页面的布局,但是不会响应绑定的监听事件。
三、opacity: 0:元素设置了透明度为 0后会隐藏但是页面依然占据中空间,所以不会改变页面的布局,并且能够响应元素绑定的监听事件。
四、position: absolute:通过使用绝对定位将元素移除可视区域内,以此来实现元素的隐藏,绑定的事件将不会响应。
五、z-index: 负值:来使其他元素遮盖住该元素,以此来实现隐藏。
六、rgba(0,0,0,0):将背景颜色透明,会继续在文档流中占位,所以触发重绘。由于只作用于颜色或背景色,所以子元素不会继承,透明后可以触发点击事件。

8、css3新特性

css3 是css2 的升级版本&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值