css面试八股文

盒模型

  1. 一个盒子包含content、padding、border、margin 
  2. 盒子模型可以分为 W3C标准盒模型 和 IE怪异盒模型

W3C标准盒模型  (默认)

width和height只包含content

盒子总宽度 = width + padding + border + margin

IE怪异盒模型

width和height 指的是 content + padding + border

盒子总宽度 = width + margin 

box-sizing

定义一个盒子的总宽度和总高度

box-sizing : content-box | border-box | inherit
  1. content-box 默认值 标准盒模型
  2. border-box 怪异盒模型
  3. 从父元素继承box-sizing的值

BFC

块级格式上下文

BFC目的是形成一个相对于外界完全独立的空间,让内外部元素不会相互影响。

触发条件

触发 BFC的条件包含不限于:

  1. 根元素,即HTML元素
  2. 浮动元素: float值为left、right
  3.  overflow值不为 visible,为 auto、scroll、hidden
  4. display的值为inline-block、inltable-cell、table-caption、table、inline-table flex、inlineflex、grid、inline-grid
  5. position的值为absolute或fixed

BFC可以 :

  1. 防止margin重叠
  2. 清除内部浮动,解决内部浮动元素溢出
  3. 自适应多栏布局,BFC区域不会与浮动盒子重叠,会自动变窄。

响应式设计及基本原理

是一种网络页面设计布局,页面的设计与开发根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的相应和调整。

响应式特点:

同时适配PC、平板、手机;

网站的布局会根据视口来调整模块大小和位置

实现方式:

响应式设计的基本原理是通过媒体查询检测不同的设备屏幕尺寸做处理,为了处理移动端,页面头部必须有 meta 声明 viewport

<meta name="viewport" content="width=device-width, initial-scale=1, maximum
-scale=1, user-scalable=no”>

属性对应如下
width=device-width: 是自适应手机屏幕的尺寸宽度maximum-scale:是缩放比例的最大值
inital-scale:是缩放的初始化
user-scalable:是用户的可以缩放的操作

可以通过下面的方式实现响应式布局:

  1. 媒体查询
  2. 百分比
  3. vw/vh  1vw等于视口宽度的1%
  4. rem  根元素设置的font-size大小

元素水平垂直居中的方法

利用定位+margin:auto

子元素需要设置宽高,否则会占满整个父级

利用定位+margin:负值

绝大多数情况下,设置父元素为相对定位。子元素移动自身50%实现水平垂直居中,需要知道子元素的宽高

利用定位+ transform

和margin+负值实现效果一样,不需要知道自身元素的宽高。

table布局

设置父元素为display:table-cell,利用vertical-align和text-align让行内块级元素水平垂直居中;

子元素为display:inline-block

flex布局

父元素设置

display:flex;

justify-content: center;

align-items: center;

grid栅格布局

兼容性较差

display:grid;

justify-content: center;

align-items: center;

两栏布局,右侧自适应;三栏布局,中间自适应

两栏布局

1、左边用float、右边用margin-left

2、flex弹性布局,最优方案,代码少,使用简单。

三栏布局

  1. 两边使用float,中间使用自适应  中间使用margin值控制两边间距。
  2. 两边使用absolute,中间使用margin
  3. 两边使用float和负margin 
  4. display:table实现
  5. flex实现
  6. grid栅格布局

z-index失效原因及解决方法

z-index只有在页面发生重叠的情况才使用,当:

1、设置position属性

2、设置float属性

会导致页面重叠,所以,z-index属性依赖于position属性的设置。如果不设置position属性,z-idnex就不起效。

z-index失效情况:

1.没有设置position属性

解决方法:添加position属性(如relative,absolute等)

2.父元素的position属性设置为relative

解决方法:父元素改为绝对定位

position:absolute

3.float属性与z-index冲突

解决方法:清除浮动

4.父级元素的z-index比子级元素的z-index小

解决方法:提高父级z-index

  • 29
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个常见的HTML/CSS/JS面试八股文: 一、HTML部分 1. DOCTYPE的作用是什么? 作用是定义HTML的版本和类型,告知浏览器按照何种规范解析页面。 2. meta标签有哪些常见属性?分别有什么作用? 常见属性有charset、name、content、http-equiv等,charset用于指定字符编码,name和content用于定义网页描述信息,http-equiv用于定义http头部信息。 3. 语义化的作用是什么?有哪些语义化的标签? 语义化可以提高页面的可读性、可维护性、可访问性和SEO优化,常见的语义化标签有header、nav、section、article、aside、footer等。 二、CSS部分 1. 盒模型的概念是什么?IE盒模型和标准盒模型有什么区别? 盒模型指一个元素在页面中占据的空间,包括元素的内容、内边距、边框和外边距。IE盒模型的宽度和高度包括了元素的边框和内边距,而标准盒模型的宽度和高度只包括了元素的内容。 2. CSS选择器有哪些?优先级是怎么计算的? 常见的选择器有元素选择器、类选择器、ID选择器、属性选择器、伪类选择器、伪元素选择器等。优先级的计算是根据不同选择器的权重值(!important > 行内样式 > ID选择器 > 类选择器/属性选择器/伪类选择器 > 元素选择器)进行比较的。 3. CSS布局有哪些方式?flex布局的特点是什么? 常见的布局方式有浮动布局、定位布局、表格布局、flex布局等。flex布局可以方便地实现弹性布局,支持多种对齐方式和换行方式,可以很好地适应不同尺寸的屏幕。 三、JS部分 1. 事件流的概念是什么?有哪些阶段? 事件流指在页面中事件的传播过程,分为事件捕获阶段、目标阶段和事件冒泡阶段。 2. this关键字的作用是什么?apply和call有什么区别? this关键字用于指向当前函数的执行环境,在不同的场景下指向的对象不同。apply和call都可以用于改变this指向,区别在于传参方式不同,apply接受数组参数,而call接受参数列表。 3. 常见的浏览器内置对象有哪些?window对象有哪些常用方法? 常见的浏览器内置对象有Math、Date、Array、String等。window对象有很多常用方法,如alert、confirm、prompt、setTimeout、setInterval等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值