2023CSS面试题

css3有哪些新属性

•	边框:
	border-radius:圆角边框
	box-shadow:边框阴影,box-shadow: 10px 10px 5px #888888
	border-image:边框图片,border-image:url(border.png) 30 30 round;
•	背景:
	background-size:规定背景图片的尺寸,background-size:63px 100px
	background-origin:规定背景图片的定位区域,背景图片可以放置于 content-box、padding-box 或 border-box 区,background-					 origin:content-box; CSS3 允许您为元素使用多个背景图像。
	background-image:url(bg_flower.gif),url(bg_flower_2.gif);
•	文本效果:
	text-shadow:向文本应用阴影,可以规定水平阴影、垂直阴影、模糊距离,以及阴影的颜色。text-shadow: 5px 5px 5px #FF0000;
	word-wrap:允许文本进行换行。word-wrap:break-word;
•	布局:
	弹性布局:flex
	网格布局:grid
•	动画:Animation
•	过渡:transition
•	变形:transfrom
•	颜色:rgba
•	渐变
•	媒体查询 就在监听屏幕尺寸的变化,在不同尺寸的时候显示不同的样式!

css哪些属性可以继承

字体相关:font,  font-size, font-weight, font-family, font-style, font-variant, line-height
文本相关: letter-spacing, word-spacing, text-align, text-indent, text-transform,
列表相关:list-style-image, list-style-position, list-style-type, list-style
颜色:color

单行文本/多行文本省略号

单:
/* 不换行 */
white-space: nowrap;
/* 超出部分隐藏 */
overflow: hidden;
/* 文本超出时,显示省略标记 */
text-overflow: ellipsis;/* 超出部分隐藏 */
overflow:hidden;
/* 文本超出时,显示省略标记 */
text-overflow:ellipsis;
/* 弹性伸缩盒子模型 */
display:-webkit-box;
/* 子元素呈现3行 */
-webkit-line-clamp:3;
/* 子元素排列方式为垂直 */
-webkit-box-orient:vertical;

1rem、1em、1vh、1px各自代表的含义

•	rem:rem是全部的长度都相对于根元素<html>元素。通常做法是给html元素设置一个字体大小,然后
其他元素的长度单位就为rem。
•	em:子元素字体大小,em是相对于父元素字体大小,元素的width/height/padding/margin用em的话是相对于该元素的font-size
•	vw/vh:全称是 Viewport WidthViewport Height,视窗的宽度和高度,相当于 屏幕宽度和高度的
1%,不过,处理宽度的时候%单位更合适,处理高度的 话 vh 单位更好。
•	px:px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。一般电脑的分辨率有{1920*1024}等不同的分辨率,1920*1024 前者是屏幕宽度总共有1920个像素,后者则是高度为1024个像素

BFC规范

•	浮动元素:float 除 none 以外的值
•	绝对定位元素:position (absolute、fixed) 
•	display: 为 inline-block、table-cells、flex
•	overflow:除了 visible 以外的值 (hidden、auto、scroll)  浮动元素:float 除 none 以外的值

CSS Hack

CSS Hack用来解决浏览器的兼容性问题,为不同版本的浏览器定制编写不同的CSS效果,使用每个浏览器单独识别的样式代码,控制浏览器的显示样式。
Hack分类
	1. CSS属性前缀法
	2. 选择器前缀法
	3. IE条件注释法

css水平、垂直居中的写法

•	水平居中
	行内元素: text-align: center
	块级元素: margin: 0 auto
	position:absolute +left:50%+ transform:translateX(-50%)
	display:flex + justify-content: center
•	垂直居中
	设置line-height 等于height
	position:absolute +top:50%+ transform:translateY(-50%)
	display:flex + align-items: center
	display:table+display:table-cell + vertical-align: middle;

画一个三角形

 border-width: 100px;
 border-style: solid;
 border-color: transparent #0099CC transparent transparent;

0.5橡树

height: 1px;
transform: scale(0.5);

label标签的用法

label标签主要是方便鼠标点击使用,扩大可点击的范围,增强用户操作体验

盒模型

盒模型的组成,由里向外content,padding,border,margin.
在IE盒子模型中,width表示content+padding+border这三个部分的宽度
在标准的盒子模型中,width指content部分的宽度
box-sizing的使用
box-sizing: content-box 是W3C盒子模型
box-sizing: border-box 是IE盒子模型
box-sizing的默认属性是content-box

选择器有哪些

ID选择器
CLASS选择器
标签选择器
通配选择器
群组选择器
层次选择器
属性选择器
伪类选择器
CSS伪类用于向某些元素添加特殊的效果。一般用于初始样式添加不上的时候,用伪类来添加。
:link、:visited、:hover、:active
1. link visited 只能给a标签加,hover和active 可以给所有的标签加。
2. 如果四个伪类都生效,一定要注意顺序 : L V H A3. 一般网站只这样去设置:a{} a:hover{}:after、:before
:checked、:disabled	
:focus
:nth-of-type():nth-child()
:first-of-type、 :first-child 
:last-of-type、  :last-child
:only-of-type、 :only-child

css优先级

第一优先级:无条件优先的属性只需要在属性后面使用**!important**。它会覆盖页面内任何位置定义的元素样式。ie6不支持该属性。
第二优先级:在html中给元素标签加style,即内联样式。该方法会造成css难以管理,所以不推荐使用。
第三优先级:由一个或多个id选择器来定义。例如,#id{margin:0;}会覆盖.classname{margin:3pxl}
第四优先级:由一个或多个类选择器、属性选择器、伪类选择器定义。如.classname{margin:3px}会覆盖div{margin:6px;}
第五优先级:由一个或多个类型选择器定义。如div{marigin:6px;}覆盖*{margin:10px;}
第六优先级:通配选择器,如*{marigin:6px;}

4个等级的定义如下:
第一等级:代表内联样式,如style="",权值为 1000
第二等级:代表id选择器,如#content,权值为100
第三等级:代表类,伪类和属性选择器,如.content,权值为10
第四等级:代表标签选择器和伪元素选择器,如div p,权值为1
注意:通用选择器(*),子选择器(>),和相邻同胞选择器(+)并不在这个等级中,所以他们的权值为0

calc, support, media各自的含义及用法?

主要是用于检测浏览器是否支持CSS的某个属性,其实就是条件判断,如果支持某个属性,你可以写一套样式,如果不支持某个属性,你也可以提供另外一套样式作为替补。

calc() 函数用于动态计算长度值。 calc()函数支持 "+", "-", "*", "/" 运算;

 查询,你可以针对不同的媒体类型定义不同的样式。

min-width/max-width和min-height/max-height属性间多的覆盖规则

max-width会覆盖width,即使width是行内样式或者设置了!important 
min-width会覆盖max-width,此规则发生在min-width和max-width冲突的时候

块元素,行内元素,行内块元素的区别

•	行内元素: display: inline
	行内元素:a、b、span、i、em、img、u、br、
	*可以和别的行内元素放在一起
	*不能设置宽高、由内容撑开
•	块元素:display: block;
	块元素:div、p、h1-h6、dl、hr、pre、table、ul、li、form
	* 所有的块级元素独占一行显示
	*可以设置宽高
•	行内块: display: inline-block;
	行内块:input、img、button、value、label、select、option
	*可以设置宽高、并且在一行上显示
	*默认对齐的是基线

伪类与伪元素区别

伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息。
通常表示获取不存在与DOM树中的信息,或获取不能被常规CSS选择器获取的信息。
: hover
: focus
: empty
伪元素本质上是创建了一个有内容的虚拟容器。这个容器不包含任何DOM元素,但是可以包含内容。另外,开发者还可以为伪元素定制样式。
:: selection
:: first-line   /    first-letter
:: before     /     after

link 标签和 import 标签的区别

link 属于 html 标签,而 是 css 提供的
页面被加载时,link 会同时被加载,而 引用的 css 会等到页面加载结束后加 载。
link 是 html 标签,因此没有兼容性,而 只有 IE5 以上才能识别。
link 方式样式的权重高于 的。

animation与transition区别

transition需要触发一个事件才会随着时间改变其CSS属性;
animation在不需要触发任何事件的情况下,也可以显式的随时间变化来改变元素CSS属性,达到一种动画的效果
css过渡与动画区别总结:
1、动画不需要事件触发,过渡需要。
2、过渡只有一组(两个:开始-结束) 关键帧,动画可以设置多个。

display与visibility区别

•	display:none;隐藏相应的元素。元素在文档布局中不再给它分配空间,它的各边会合拢,就当它不存在。
•	visibility:hidden;隐藏相应元素。元素在文档布局中仍保留原来的空间。

canvas和svg的区别

canvas通过javascript绘制图形(2D),canvas无法对已绘制的图像进行操作、修改
SVG是一种使用XML描述2D图形的语言,canvas需要在js中绘制,而SVG只需要在html里面通过标签绘制即可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值