连这些都不知道,怎么去阿里!

原创 年树先生 随笔 前端面试 4123阅读 2018-10-18 21:39:41 举报

本次收录了一些面试中经常会遇到的经典面试题以及自己面试过程中遇到的一些问题,并且都给出了我在网上收集的答案。马上就要过春节了,开年就是崭新的一年,相信很多的前端开发者会有一些跳槽的悸动,通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端面试者。(如有错误或更好的答案,欢迎指正,水平有限,望各位不吝指教。:)

CSS权重

CSS权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式。

权重的等级

可以把样式的应用方式分为几个等级,按照等级来计算权重
1、!important,加在样式属性值后,权重值为 10000
2、内联样式,如:style=””,权重值为1000
3、ID选择器,如:#content,权重值为100
4、类,伪类和属性选择器,如: content、:hover 权重值为10
5、标签选择器和伪元素选择器,如:div、p、:before 权重值为1
6、通用选择器(*)、子选择器(>)、相邻选择器(+)、同胞选择器(~)、权重值为0
权重的计算实例

1、实例一:

2、实例二:

CSS3新增选择器

1、E:nth-child(n):匹配元素类型为E且是父元素的第n个子元素

2、E:first-child:匹配元素类型为E且是父元素的第一个子元素

3、E:last-child:匹配元素类型为E且是父元素的最后一个子元素

4、E > F E元素下面第一层子集

5、E ~ F E元素后面的兄弟元素

6、E + F 紧挨着的后面的兄弟元素

属性选择器:

1、E[attr] 含有attr属性的元素

2、E[attr=’ok’] 含有attr属性的元素且它的值为“ok”

3、E[attr^=’ok’] 含有attr属性的元素且它的值的开头含有“ok”

4、E[attr$=’ok’] 含有attr属性的元素且它的值的结尾含有“ok”

5、E[attr*=’ok’] 含有attr属性的元素且它的值中含有“ok”

CSS3圆角、rgba

CSS3圆角

设置某一个角的圆角,比如设置左上角的圆角:

border-top-left-radius:30px 60px;

同时分别设置四个角: border-radius:30px 60px 120px 150px;

设置四个圆角相同:

border-radius:50%;

rgba(新的颜色值表示法)

1、盒子透明度表示法:

2、rgba(0,0,0,0.1) 前三个数值表示颜色,第四个数值表示颜色的透明度

CSS3 transition动画

CSS3 transform变换

举例:(翻面效果)

CSS3 animation动画
1、@keyframes 定义关键帧动画
2、animation-name 动画名称
3、animation-duration 动画时间
4、animation-timing-function 动画曲线 linear(匀速)|ease(缓冲)|steps(步数)
5、animation-delay 动画延迟
6、animation-iteration-count 动画播放次数 n|infinite
7、animation-direction 动画结束后是否反向还原 normal|alternate
8、animation-play-state 动画状态 paused(停止)|running(运动)
9、animation-fill-mode 动画前后的状态 none(缺省)|forwards(结束时停留在最后一帧)|backwards(开始时停留在定义的开始帧)|both(前后都应用)
10、animation:name duration timing-function delay iteration-count direction;同时设置多个属性

理解练习:

1、人物走路动画

CSS3 浏览器前缀

浏览器样式前缀

864305860

自动添加浏览器前缀

连这些都不知道,怎么去阿里!

目前的状况是,有些CSS3属性需要加前缀,有些不需要加,有些只需要加一部分,这些加前缀的工作可以交给插件来完成,比如安装: autoprefixer

可以在Sublime text中通过package control 安装 autoprefixer

Autoprefixer在Sublime text中的设置:

1、preferences/key Bindings-User

2、Preferences>package setting>AutoPrefixer>Setting-User

last 7 versions:最新的浏览器的7个版本

cascade:缩进美化属性值

remove:是否去掉不必要的前缀

HTML5新增标签

新增语义标签

音频视频

PC端兼容h5的新标签的方法,在页面中引入以下js文件:

HTML5 新增表单控件

新增类型:网址 邮箱 日期 时间 星期 数量 范围 电话 颜色 搜索

移动端与PC端页面布局区别

视口

视口是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px或者1024px,目的是为了显示下整个为PC端设计的网页,这样带来的后果是移动端会出现横向滚动条,为了避免这种情况,移动端会将视口缩放到移动端窗口的大小。这样会让网页不容易观看,可以用 meta 标签,name=“viewport ” 来设置视口的大小,将视口的大小设置为和移动设备可视区一样的大小。

设置方法如下( 快捷方式:meta:vp + tab ):

视网膜屏幕(retina屏幕)清晰度解决方案

视网膜屏幕指的是屏幕的物理像素密度更高的屏幕,物理像素可以理解为屏幕上的一个发光点,无数发光的点组成的屏幕,视网膜屏幕比一般屏幕的物理像素点更小,常见有2倍的视网膜屏幕和3倍的视网膜屏幕,2倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/4,3倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/9。

图像在视网膜屏幕上显示的大小和在一般屏幕上显示的大小一样,但是由于视网膜屏幕的物理像素点比一般的屏幕小,图像在上面好像是被放大了,图像会变得模糊,为了解决这个问题,可以使用比原来大一倍的图像,然后用css样式强制把图像的尺寸设为原来图像尺寸的大小,就可以解决模糊的问题。

背景图强制改变大小,可以使用background新属性

background新属性
background-size:
length:用长度值指定背景图像大小。不允许负值。
percentage:用百分比指定背景图像大小。不允许负值。
auto:背景图像的真实大小。
cover:将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。
contain:将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。
适配布局类型

PC及移动端页面适配方法

设备屏幕有多种不同的分辨率,页面适配方案有如下几种:
1、全适配:响应式布局+流体布局
2、移动端适配:
流体布局+少量响应式
基于rem的布局
流体布局

流体布局,就是使用百分比来设置元素的宽度,元素的高度按实际高度写固定值,流体布局中,元素的边线无法用百分比,可以使用样式中的计算函数 calc() 来设置宽度,或者使用 box-sizing 属性将盒子设置为从边线计算盒子尺寸。

calc()

可以通过计算的方式给元素加尺寸,比如: width:calc(25% - 4px);
box-sizing

1、content-box 默认的盒子尺寸计算方式
2、border-box 置盒子的尺寸计算方式为从边框开始,盒子的尺寸,边框和内填充算在盒子尺寸内
响应式布局

响应式布局就是使用媒体查询的方式,通过查询浏览器宽度,不同的宽度应用不同的样式块,每个样式块对应的是该宽度下的布局方式,从而实现响应式布局。响应式布局的页面可以适配多种终端屏幕(pc、平板、手机)。

基于rem的布局

首先了解em单位,em单位是参照元素自身的文字大小来设置尺寸,rem指的是参照根节点的文字大小,根节点指的是html标签,设置html标签的文字大小,其他的元素相关尺寸设置用rem,这样,所有元素都有了统一的参照标准,改变html文字的大小,就会改变所有元素用rem设置的尺寸大小。

cssrem安装

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复