2023前端面试之HTML+CSS(八股文)

1. 盒子模型,普通盒子模型和怪异盒子模型有什么区别?

 答:普通盒子模型又称标准W3C盒子模型,标准盒子模型的Width等于content的宽度,标准盒子模型的Height等于Content的高度 

        标准盒子大小计算公式:width(content)+padding +border + margin

    怪异盒子模型又称IE盒子模型,怪异盒子模型的Width等于Content➕padding➕border的宽度,怪异盒子模型的Height等于content➕padding➕border的高度

    怪异盒子大小的计算公式:width(content + padding + border)+ margin

2. 块元素和行内元素的区别是什么?常见块元素和行内元素有哪些?

答:    块级元素一般从新行开始,可以容纳行内元素和其他块级元素;常见的必入div / p,form这个块级元素比较特殊,他只能容纳其它块级元素。

            行内元素又称内联元素,一般都是语义级别元素,他只能容纳文本或者其他内联(行内)元素。(span / label / a / h / b / i)

    块级元素与行内元素的三个区别:1.行内元素会在一条直线上排列,都是同一行的,水平方向;块级元素各占一行,垂直方向排列,块级元素从新行开始结束接着断行。2. 块级元素可以包含行内元素和块级元素;行内元素不包含块级元素。3. 行内元素与块级元素属性上不同,主要体现在盒子模型属性上:行内元素设置width无效,height无效(可设置line-height),margin上下无效,padding上下无效

    行内元素转为块级元素:display:block (字面意思表现形式设为块级)

3. HTML语义化标签有哪些?

答:语义化标签可以理解为用于进行网页页面构建的标签,他们不会影响页面内容,只是对页面结构规范化。

    为什适用语义化标签:1)已修改,维护   2)更易理解页面结构。 3)有利于SEO搜索引擎检索

    语义化标签的使用:1. 头部标签<header>: 1) 标注内容的标题  2)标注网页的页眉  ;2. 导航栏标签<nav>:用于一组文章链接,一个页面可以包含多个<nav>标签,但通常仅仅在页面主要导航部分使用它;3. 附注标签<aside>:元素不仅仅是侧栏,它表示与它周围文本没有密切关系的内容; 4. 页脚标签<footer>:可以包含版权,来源信息,法律限制等等之类文本或链接信息,可以包含其他行内或块级元素; 5. 主要内容标签<main> ; 6. 文章标签<article>:是一个完整的自成一体的内容块

4.伪类和伪元素的区别是什么?

答:相同点:都属于选择器中的一种,能实现对于页面元素的修饰

        不同点:

            1. 概念不同:伪类:用于已有元素出于某种状态时为其添加相对应地样式,这个状态是根据用户的行为而动态变化的,例如:鼠标悬停(:hover);伪元素:用于创建一些不在DOM树中的元素,并未其添加样式,例如:先向前后插入元素内容等

            2. 使用方法不同:css3规范中要求使用双冒号(::)表示伪元素,以此来区分伪类和伪元素,比如:::before,::after等伪元素使用双冒号,:hover,:active伪类使用单冒号

5.CSS如何实现垂直居中?

答:1. 通过vertical-align:middle实现CSS垂直居中; 2. 通过display:flex实现CSS垂直居中; 3. 通过伪元素:before实现CSS垂直居中;4. 通过display:table-cell实现CSS垂直居中;5. 通风过隐藏节点实现垂直居中;6. 已知父层元素高度通过transform来实现;7. 到垂直居中的位置;8. 通过line-height来实现;

6.  CSS选择器有哪些?

答:1.元素选择器;2.id选择器; 3.类选择器; 4. 分组选择器(并集选择器);5.符合选择器(交集选择器);6. 通配选择器; 7. 后代选择器;8.子元素选择器;9.伪类选择器;10.属性选择器;11.兄弟元素选择器。

7.CSS的优先级如何计算?

答:CSS的优先级是根据样式生命的特殊性值来判断的

    选择器的特殊性值分为4个等级,如下:

        1) 标签内选择符想x,0,0,0

        2) ID选择符0,x,0,0

        3) class选择符/属性选择符/伪类选择符0,0,x,0

        4)元素和伪元素选择符0,0,0,x

    计算方法:

        1)每个等级初始值为0

        2)每个等级的叠加为选择器出现的次数相加

        3)不可进位,比如:0,999,999,99

        4)以此表示为:0,0,0,0

        5)每个等级计数之间没有关联

        6)等级判断从左到右,如果某一位值相同,则判断下一位数值

        7)如果两个优先级相同,则后出现的优先级高,!important 也适用

        8)通配符选择器的特殊性值为:0,0,0,0

        9) 继承样式优先级最低,通配符样式高于继承样式

        10)!important(权重),他没有特殊性值,但他的优先级最高,为了方便记忆可以认为他的特殊性值为1,0,0,0,0

8. 长度单位px,em,和 rem 的区别是什么?

答:1) px是固定像素,一旦设置了就无法因为适应页面大小而改变

        2)em和rem相对于px更具灵活性,他们是相对长度单位,更适用于响应式布局。

        3)em是相对父元素来设置大小,一般以<body>的“font-size”为准。这样会存在一个问题,进行任何元素设置都有可能需要知道他的父元素的大小。但是rem是相对于根元素<html>,就是说我们只需要在跟元素确定一个参考值

        4) 像素(px):用于元素的边框或定位

        5)em/rem:用于做响应式页面,最好使用rem,因为em不同元素的参照物不一样(都是该元素的父元素),所以在计算的时候不方便,相比之下rem就只有一个参照物(html元素)

9.讲一下Flex弹性盒布局?

答:原理:通过给父盒子添加 display:flex 属性,来控制盒子的位置和排  列方式

        特点:1)flex布局相对于传统布局(浮动,定位)更简便,但兼容性更差

                    2)父元素设为flex布局后,子元素的float,clear,vertical-align属性失效

                    3)应用于任何元素:块元素,行元素,行内块元素

                    4)display:声明flex属性值 flex ,对应块元素,即容器转化为块元素 inline-flex, 对应行行内元素,即容器转化为行内元素

                    5)子项目中行元素可直接设置宽高,块级元素宽度不继承,行内块元素没有间隔

                    6)没有外边距合并问题

                    7)能让页面宽度自适应,高度与字体大小自适应需要配合rem+媒体查询

10.浮动坍塌问题的解决方案是什么?

答:浮动元素的特点:1)浮动元素会脱离标准文件流,已经不区分块行了; 2)浮动的元素会胡想贴靠;3)浮动的元素有“字围”的效果;4)收缩

        坍塌解决方案:1)给浮动的元素的上级添加高度;2)clear:both;3)隔墙法:中间加空盒子;4)隔墙法进化版-内墙法:空也盒子加在浮动元素内;5)overflow:hidden;6)伪元素

11.position的属性值有哪些,各个值是什么含义?

答:1)static:默认位置,(static 元素会忽略任何top,bottom,left或right声明)一般不常用;2)relative:位置被设置为relative的元素,偏移的top,right,bottom,left的值都以他原来的位置为基准偏移,注意relative移动后的元素在原来的位置仍占据空间;3)absolute:位置设置absolute的元素,可定位于相对包含的它的元素的置顶坐标;4)fixed:位置被设置fixed的元素,可定位相对于窗口的指定坐标

12.BFC,IFC是什么?

答:BFC(block formatting contexts)块级格式化上下文

        a)纵向一个挨着一个排列

        b)两个盒子的纵向间距由margin来决定,两个相邻的盒子在垂直方向上的margin会有种“重叠合并”的效果,此时纵向间距距离取较大的margin值

    IFC(inline formatting contexts)行内格式上下文

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

推荐阅读更多精彩内容