Skip to main content

Command Palette

Search for a command to run...

html与css相关面试题

Updated
2 min readView as Markdown

HTML语义化?

  1. 提高了代码的可读性。
  2. 有利于SEO
  3. 有利于内容的结构化。

    常见的语义化标签有header footer main article section aside nav

块级元素与行内元素

块级元素:

  1. 总是从新的一行开始。
  2. 宽高可控。
  3. 宽度没有设置时,默认100%。
  4. 块级元素可以包含块级元素和行内元素

行内元素:

  1. 和其他元素都在一行。
  2. 宽高、内边距都是不可控。
  3. 宽高就是内容的宽高,不可以改变。
  4. 行内元素只能包含行内元素,不能包含块级元素。

类型转化

  1. 转换为块元素:display:block;
  2. 转换为行内元素:display:inline;
  3. 转换为行内块:display: inline-block;

常见的块级元素与行内元素

  1. 块级元素有:body from select textarea h1-h6 html table button hr p ol ul dl cnter div。
  2. 行内元素有:heda meat title lable span br a style em b i strong。
  3. 行内块元素常见的有: img input td。

BFC?

  1. 定义:块级格式化上下文,独立的渲染区域,不会影响边界外的元素。
  2. 形成条件:
    1. flaot
    2. position
    3. overflow
    4. display
  3. 布局规则:
    1. 区域内box从上到下排列
    2. box垂直方向的距离由margin决定
    3. 同一个bfc内box margin会重叠
    4. bfc不会与flaot重叠
    5. bfc计算高度 也会计算float元素

样式优先级的规则是什么?

!important > 内联样式(style) > ID选择器(id) > 类选择器(class) > 标签选择器 > 通配符

浮动

  1. 脱离文档流、盒子塌陷、 影响其他元素排版。
  2. 解决塌陷:
    1. 给父元素设置高度
    2. 给父元素设置overflow:hidden
    3. 在下方创建一个空白div,添加样式clear:both
    4. 父级添加after伪类 father::after{ content:''; display:table; clear:both }

CSS尺寸设置的单位

  1. px:绝对像素
  2. rem:相对于根元素像素
  3. em:相对于父元素像素
  4. vw:视口宽度
  5. vh:视口高度

未知宽高元素水平垂直居中方法

  1. 设置元素相对父级定位position:absolute;left:50%;right:50%,让自身平移自身高度50% transform: translate(-50%,-50%);,这种方式兼容性好,被广泛使用的一种方式
  2. 设置元素的父级为弹性盒子display:flex,设置父级和盒子内部子元素水平垂直都居中justify-content:center; align-items:center ,这种方式代码简洁,但是兼容性ie 11以上支持,由于目前ie版本都已经很高,很多网站现在也使用这种方式实现水平垂直居中
  3. 设置元素的父级为网格元素display: grid,设置父级和盒子内部子元素水平垂直都居中justify-content:center; align-items:center ,这种方式代码简介,但是兼容性ie 10以上支持
  4. 设置元素的父级为表格元素display: table-cell,其内部元素水平垂直都居中text-align: center;vertical-align: middle; ,设置子元素为行内块display: inline-block;,这种方式兼容性较好

三栏布局的实现方案

  1. 左右浮动 设置宽高 中间设置高 宽度自适应
  2. bfc:左右浮动 中间overflow:hidden
  3. flex布局 父元素设置flex 中间元素 设置flex-grow:1

盒模型?

CSS盒模型定义了盒的每个部分包含 margin, border, padding, content 。 根据盒子大小的计算方式不同盒模型分成了两种,标准盒模型和怪异盒模型。

  1. 盒模型分为两类,
    1. 标准盒模型(W3C 盒模型)。
    2. 怪异盒模型(IE 盒模型)。
    3. 一般我们的盒子默认是标准盒模型。
  2. 两者区别
    1. 标准盒模型的实际宽高会把padding和border计算在内。(包括内边距和边框)
    2. 怪异盒模型不会。(只包括内容)
  3. 形成怪异盒模型的条件是box-sizing:border-box;
  4. 形成标准盒模型的条件box-sizing:content-box。

More from this blog

js 数组方法

一、增删改方法 push()方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度 unshift()在数组开头添加任意多个值,然后返回新的数组长度 pop() 方法用于删除数组的最后一项,同时减少数组的 length 值,返回被删除的项 shift()方法用于删除数组的第一项,同时减少数组的 length 值,返回被删除的项 splice功能强大,可以同时对数组进行增删改的操作 二、搜索和位置方法 indexOf()返回要查找的元素在数组中第一次出现的下标,如果没找到则返回 -1 ...

Oct 16, 20231 min read

Server-Sent Events(SSE)

Server-Sent Events(SSE)是一种用于实现服务器向客户端实时推送数据的Web技术。与传统的轮询和长轮询相比,SSE提供了更高效和实时的数据推送机制。 SSE基于HTTP协议,允许服务器将数据以事件流(Event Stream)的形式发送给客户端。客户端通过建立持久的HTTP连接,并监听事件流,可以实时接收服务器推送的数据。 SSE的主要特点包括: 简单易用:SSE使用基于文本的数据格式,如纯文本、JSON等,使得数据的发送和解析都相对简单。 单向通信:SSE支持服务器向客户...

Sep 21, 20231 min read

Untitled Publication

28 posts