• CSS高频面试题


    1.行内元素有哪些?块级元素有哪些?空元素有哪些?CSS的盒模型?

    • 块级元素:div, p, h1-h6,form, ul ,li
    • 行内元素:a, b, br, span, i, input, select
    • 行内块级元素:img , input
    • 空元素:即没有内容的HTML元素,br, meta, hr, link, input, img

    行内元素和块级元素互相转换:

    • display: inline 强制将块级元素转换为行内元素
    • display: block 强制将行内元素转换为块级元素 并不是实际意义上的块级元素,只是可以设置宽高 用
    • display: inline-block 强制将块级元素转为行内元素。注意有3px间距。letter-spacing可以消除这个间距

    css盒模型:标准盒模型和IE盒模型

    标准盒模型转换为IE盒模型:box-sizing:border-box;

    2.为什么要初始化CSS样式

    因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。

    3.如何清除浮动

    clear: both

    • 一是利用 clear 属性,包括在浮动元素末尾添加一个带有 clear: both 属性的空 div 来闭合元素,
    • 利用 :after 伪元素的方法也是在元素末尾添加一个内容为一个点并带有 clear: both 属性的元素实现的。

    4.px,em,rem的区别

    • px和em都是长度单位,区别是,px的值是固定的,指定是多少就是多少,计算比较容易。
    • em得值不是固定的,并且em会继承父级元素的字体大小
    • rem的大小依赖于根元素 html,浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em

    5.如何让文字强制换行,强制不换行

    强制不换行 { white-space:nowrap; }

    自动换行 { word-wrap:break-word; }

    超出显示省略号 { text-overflow:ellipsis;overflow:hidden; }

    6.css 隐藏元素的方法?

    display:none 不显示对应的元素,在文档布局中不再分配空间(回流+重绘)

    visibility:hidden 隐藏对应元素,在文档布局中仍保留原来的空间(重绘)

    7.CSS 常见的伪类和伪元素有哪些,他们的区别?

    • 伪元素主要是用来创建一些不存在原有dom结构树种的元素 ;伪类表示已存在的某个元素处于某种状态,但是通过dom树又无法表示这种状态,就可以通过伪类来为其添加样式
    • 伪元素的操作对象是新生成的dom元素,而不是原来dom结构里就存在的;而伪类恰好相反,伪类的操作对象是原来的dom结构里就存在的元素。
    • 伪元素与伪类的根本区别在于:操作的对象元素是否存在于原来的dom结构里

    常见的伪类:

    • :link 应用于未被访问过的链接
    • :visited 应用于被访问过的链接
    • :hover 应用于鼠标悬停到的元素
    • :first-child 选择某元素第一个子元素
    • :last-child 选择最后一个。。。。。
    • :disabled 表单元素禁用
    • :enabled 匹配没有被禁用的元素

    常见的伪元素:

    • ::first-letter 选择元素文本的第一个字
    • ::first-line 选择元素文本的第一行
    • ::before 在元素内容的最前面添加新内容。
    • ::after 在元素内容的最后面添加新内容。

    8.CSS引入的方式有哪些?使用Link和@import有什么区别?

     内联,内嵌,外链,导入

    1. link 属于 XHTML 标签,除了加载 CSS 外,还能用于定义RSS,定义 rel 连接属性等作用,无兼容性,支持使用javascript改变样式;
    2. @import是CSS提供的,只能用于加载CSS,不支持使用 javascript 改变样式;
    3. 页面被加载的时,link 会被同时加载,而@import 引用的CSS会等到页面加载完再加载;
    4. import是CSS2.1 提出的,CSS2.1以下浏览器不支持,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题。
  • 相关阅读:
    2022/8/5 uniapp实现附近商家定位
    nodejs---fastify-路由
    【LGR114C】地地铁铁
    Python自学笔记9:实操案例六(千年虫,购物流程)
    js实现的模拟弹性网格布拉扯仿真动画可拉伸可切割
    【Linux】安装Hbase
    JSP宅急送物流管理系统
    开快递驿站能赚钱么?去掉成本,一个月能赚多少钱?
    【算法训练-动态规划 二】【线性DP问题】最长递增子序列
    一文搞懂堆外内存(模拟内存泄漏)
  • 原文地址:https://blog.csdn.net/qq_34569497/article/details/133932771