CSDN话题挑战赛第2期
参赛话题:面试宝典
手里有一些前端面试题,今天正好把和html和css相关的一些总结出来,复习并且学习一下,下一篇我们总结有关js的一些面试题!
JPEG,GIF,PNG,JPG,最流行的是jpeg格式,可以把文件压缩到最小 在ps以jpeg格式存储时,提供11级压缩级
别
一个css盒子从外到内可以分成四个部分:margin(外边距),border(边框),padding(内边距),content(内容)。默认情况下,盒子的 width 和 height 属性只是设置 content(内容)的宽和高,
盒子真正的宽应该是:内容宽度+左右填充+左右边距+左右边框
盒子真正的高应该是:内容高度+上下填充+上下边距+上下边框
视频:
<video src="">video>
视频标签属性:
音频:
<audio>
<source src=”” type=””>
audio>
语义化标签优点:
边框:
- border-radios:添加圆角边框
- border-shadow:给框添加阴影 (水平位移,垂直位移,模糊半径,阴影尺寸,阴影颜色,
- insetr(内/外部阴影))
- border-image:设置边框图像
- border-image-source 边框图片的路径
- border-image-slice 图片边框向内偏移
- border-image-width 图片边框的宽度
- border-image-outset 边框图像区域超出边框的量
- border-image-repeat 图像边框是否平铺(repeat平铺 round铺满 stretch 拉伸)
背景:
- background-size 背景图片尺寸
- background-origin规定background-position属性相对于什么位置定位
- background-clip 规定背景的绘制区域(padding-box,border-box,content-box)
渐变:
- linear-gradient()线性渐变
- radial-gradient()径向渐变
文本效果:
- word-break:定义如何换行
- word-wrap:允许长的内容可以自动换行
- text-overflow:指定当文本溢出包含它的元素,应该干啥
- text-shadow:文字阴影(水平位移,垂直位移,模糊半径,阴影颜色)
转换:
- transform 应用于2D3D转换,可以将元素旋转,缩放,移动,倾斜
- transform-origin 可以更改元素转换的位置,(改变xyz轴)
- transform-style 指定嵌套元素怎么样在三位空间中呈现
2D转换方法:
- rotate旋转 translate(x,y)指定元素在二维空间的位移 scale(n)定义缩放转换
3D转换方法:
- perspective(n)为3D转换 translate rotate scale
过渡:
- transition-proprety 过渡属性名
- transition-duration 完成过渡效果需要花费的时间
- transition-timing-function 指定切换效果的速度
- transition-delay 指定什么时候开始切换效果
动画:animation
- animation-name 为@keyframes动画名称
- animation-duration 动画需要花费的时间
- animation-timing-function 动画如何完成一个周期
- animation-delay 动画启动前的延迟间隔
- animation-iteration-count 动画播放次数
- animation-direction 是否轮流反向播放动画
高度塌陷:当所有的子元素浮动的时候,且父元素没有设置高度,这时候父元素就会产生高度塌陷。
清除浮动方式1:给父元素单独定义高度
- 优点:快速简单,代码少
- 缺点:无法进行响应式布局
清除浮动方式2:父级定义overflow:hidden;zoom:1(针对ie6的兼容)
- 优点:简单快速、代码少,兼容性较高
- 缺点:超出部分被隐藏,布局时要注意
清除浮动方式3:在浮动元素后面加一个空标签,clear:both;height:0;overflow:hidden
- 优点:简单快速、代码少,兼容性较高。
- 缺点:增加空标签,不利于页面优化
清除浮动方式4:父级定义overflow:auto
- 优点:简单,代码少,兼容性好
- 缺点:内部宽高超过父级div时,会出现滚动条
清除浮动方式5:万能清除法:给塌陷的元素添加伪对象
- 优点:写法固定,兼容性高
- 缺点:代码多
.father:after{
Content:" ";
Clear:both;
display:block;
Height:0;
Overflow:hidden;
Visibility:hidden;
}
position有四个属性值:relative 、absolute 、 fixed 、 static
水平居中:
- 子父元素宽度固定,子元素设置 margin:auto,并且子元素不能设置浮动,否则居中失效
- 子父元素宽度固定,父元素设置 text-align:center,子元素设置display:inline-block,并且子元素不能设置浮动,否则居中失效
水平垂直居中:
- 子元素相对于父元素绝对定位,子元素 top,left 设置 50%,子元素 margin-top 和 margin-left 减去各自宽高的一半。
- 子元素相对于父元素绝对定位,子元素上下左右全为 0,然后设置子元素 margin:auto
- 父元素设置 display:table-cell,vertical-align:middle,子元素设置margin:auto
- 子元素相对定位,子元素top,left值为50%,transform:translate(-50%,-50%)
- 子元素相对父元素绝对定位,子元素top,left值为50%,transform:translate(-50%,-50%)
- 父元素设置弹性盒子。
content-box 标准盒模型 width不包括 padding和border
border-box 怪异盒模型 width包括 padding和border
本来添加谷歌私有属性 -webkit-text-size-adjust : none
现在 -webkit-transform : scale()
CSS2选择器:
元素选择器,id选择器,群组选择器,类选择器,*通配符选择器,后代选择器
CSS2伪类选择器:a:link / visited / hover / active
CSS3选择器:
1.结构伪类选择器:
查找第几个nth-child(n)
查找同一类型第几个nth-of-type
查找唯一类型 only-of-type
2.属性选择器:根据标签属性查找 [attr=value]
:root 查找根元素html标签
:empty 查赵空标签
3.目标伪类选择器:(表单)
:enabled 查找可以使用的标签
:disabled 查找禁止使用的标签
:checked 查找被选中的标签
4.伪元素选择器 ::selection设置选中文本内容的高亮显示(只能用于背景色和文本颜色)
否定伪类选择器 not()
语言伪类选择器 lang(取值)
优先级(权重):
那些属性可以继承:
css继承特性主要是文本方面
区别:
margin 外边距:自身边框到另一个边框之间的距离
padding 内边距:自身边距到自身内容之间的距离
当需要在border外侧添加空白时用margin,当需要在border内侧添加空白时用padding
添加disabled属性
就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式
px:绝对长度单位,像素px是相对于显示器屏幕分辨率来说的
em:相对长度单位,相对于当前对象内文本的字体尺寸
- em的值并不是固定的
- em会继承父级元素的字体大小(参考物是父元素的font-size)
- em中所有的字体都是相对于父元素的大小决定的
rem: 相对于html根元素的font-size
一般的,各大主流浏览器的font-size默认值为 16px,此时 1rem = 16px(所以 12px = 0.75rem);把 html 设置成 font-size: 62.5%,此时 1rem = 16px*62.5% = 10px(所以 12px = 1.2rem);(1:10的比例更好换算)
结构(html或xhtm标记语言)
表现(css样式表)
行为(js)
媒体查询扩展了media属性, 就是根据不同的媒体类型设置不同的css样式,达到自适应的目的。
声明文档类型
sass和less都是css预处理器,是css上的一种抽象层,是一种特殊的语法,最终会编译成css,less是一种动态样式语言,给css赋予了动态语言的特性,比如:变量,继承,嵌套。less既可以在客户端运行,也可以在服务端运行(需要借助node)
- 用node将less文件生成为css文件
- 用webstorm自动生成
- vscode中的easy less插件
如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。
🏰系列专栏
👉软磨 css
👉硬泡 javascript
👉flask框架快速入门