css相关

实现居中对齐

1.在知道父级高度的情况下:

 

  a. 上下居中,在知道自身高度的情况下根据计算使用padding和margin实现

  b.  也可以使用line-height来实现

  c.在父元素跟子元素行高一致时,可以设置子元素vertical-align: middle,且子元素为行内元素

  注意:关于vertical-align: middle,看这里

 

 2.在不知道父级高度的情况下:

 

  a. 知道自身高度的情况下,使用absolute,配合margin来实现

  b. 在不知道自身高度情况下,使用absolute,配合transform来实现

  c.使用flex模式,直接align-items: center;上下居中,justify-content:center 

 

 

清除浮动

1.浮动初衷:实现文字环绕

2.浮动负面效果:父级高度塌陷

3.浮动属于半脱离文档流,他与其他为浮动元素相比会出现相似absolute的效果,但相同的float又不会互相重叠,且float会占据位置

4.清除浮动的方法

    a. 在css中本身就有移除浮动的样式clear:both,表示该元素左右不允许浮动,这个时候父元素可以捕捉到它,实现撑开高度

    b. 直接设置好高度(不建议)

    c.设置overflow:hidden;或者display:inline-block

清除原理 

 

 

box-sizing

1.一般默认值为content-box,(直译:内容盒子),宽高只包含content的内容,不包含padding和boder

2.border-box(直译:边框盒子),宽高包含padding和border

 

 

 

 

css权重

!important > 内联样式 > id选择 > (class选择 = 伪类选择) > (标签选择 = 伪元素选择)

 

 

什么是重绘和回流

 

1.重绘是指元素更新属性,只会影响颜色风格,不会影响布局的属性,比如color,background-color,这些称为重绘

2.回流是指更改布局,例如元素尺寸,显隐,位置等等更改结构的变动

3.重绘不一定回流,回流一定重绘

 

 

 

为什么建议使用transform

transform不会引起整个页面回流重绘,节省性能消耗,但是占用内存会相对大些

margin  top之类的会出现回流

 

 

position

static:默认值,无视top/left/right/bottom

relative:相对定位,处于文档流,top/left/right/bottom会发生相应改变

absolute:绝对定义位,脱离文档流,top/left/right/bottom会根据定位变动位置,(定位由第一个已经定位过的属性或者根目录决定)

fixed:固定定位,脱离文档流,定位规则为相对窗口,top/left/right/bottom会根据定位变动位置

stick:粘性定位,依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。实现粘性布局(兼容性差)

 

 

margin重叠现象

在垂直方向上相邻的两个元素如果有相向的margin的设置时,margin回重叠,并且以较大的为最终显示结果

出现原因

解决办法:

1,不要margin相向,可以用padding替代

2,设置float

3,设置display: inline-block 

 

 

 

 

disable:none与visibility:hidden的区别

disable:none会使元素消失,不会占用空间

vsibility:hidden 元素还占据空间 但是不可见 会影响布局

 

 

 

理解BFC

 

看这里

 

 

 

纯css实现一个高宽比为1:3的盒子 列举几种方式

1,使用vh 单位

2,利用padding可以根据width设置百分比长度来设置,但这样具体内容得通过绝对定位来设置

 

 

 

 

对meta有什么理解

1,meta处于html的头部head内部,其内容不会呈现给客户,主要是给搜索引擎看

2,<meta charset="UTF-8"> 使用的编码格式,大部分是utf-8

3,meta根据用法分为两大类,

      a,关键属性是name和content,这个用法是用来描述网站,用于seo

      b,关键属性是http-equlv 用来告诉浏览器本次响应机制

 

 

为什么要初始化css样式?

因为浏览器的兼容问题,不同浏览器对有些标签的默认值不同,如果不初始化css,会导致不同浏览器页面间的显示差异。

 

 

移动端适配1px问题

 

移动端部分机型的border的粗细显示有问题,1px的大小实际显示效果不符

解决办法:利用伪类,做出1px的线条,在通过定位替代border

 

 

 

css实现一个旋转的圆

transform:rotate(7deg)

animation:spin 5s infinite;

@keyframes
spin{
  from {transform:rotate(0)}
  to {transform:rotate(360deg)}

}

 

 

 

css3新增特性

 

1,新增选择器 p:nth-shild(n){  }   其中n代表第几个

2,flex布局

3,媒体查询

4,颜色透明度

5,圆角

6,渐变

7,阴影

8,背景效果

9,旋转挪移缩放

10,过渡

11动画

 

 

display:inline-block 什么时候不会显示间隙?

原理:元素被当成行内元素排版的时候,元素之间的空白符(空格、回车换行等)都会被浏览器处理,根据white-space的处理方式(默认是normal,合并多余空白),被当成一个空字符

解决:

        1,出现原因是因为有回车之类的空字符,那么只要不要回车,不要空格即可解决

        2,优雅一点,既然是空字符那么直接修改父级的font-size的大小为0,那么即空隙就没了

        3,使用浮动,出现这种情况是行内元素的排版问题,那么使用浮动脱离行内元素

 

 

 

 

在网页中的应该使用奇数还是偶数的字体?为什么呢?

偶数字号相对更容易和 web 设计的其他部分构成比例关系 Windows 自带的点阵宋体(中易宋体)从 Vista 开始只提供 12、14、16 px 这三个大小的点阵

 

 

伪类和伪元素的区别

1,伪类是指某个元素的特殊状态,比如hover active等等

2,伪元素则是指在目标内部的前面或者后面添加一个元素

 

 

如果需要手动写动画,你认为最小时间间隔是多久,为什么?(阿里)

多数显示器默认频率是60Hz,即1秒刷新60次,所以理论上最小间隔为1/60*1000ms 16.7ms。

 

 

 

 

base64的原理及优缺点

优点:加密,减少http请求

缺点:需要消耗cpu解码 

 

 

 

postcss的作用

 

css的预处理,比如兼容处理

 

 

 

css有哪些内置函数?举两个具体用法?

calc()//计算

rgb()//颜色

rgba()//颜色+透明度

var()//变量

linear-gradient()颜色渐变

 

 

 

 

 

 

 

 

 

posted @ 2021-08-17 10:32  来吃点代码  阅读(65)  评论(0编辑  收藏  举报