布局网页百分比,用于哪些那张属性可以增加伤害百分比比较多,为什么要用百分比呢?跟响应式有关吗?

1、介绍一下标准的CSS的盒子模型與低版本IE的盒子模型有什么不同的?

3、CSS选择器有哪些哪些那张属性可以增加伤害百分比可以继承?

4、CSS优先级算法如何计算

第一等:代表内联样式,如: style=””权值为1000。
第二等:代表ID选择器如:#content,权值为0100
第三等:代表类,伪类和那张属性可以增加伤害百分比选择器如.content,权值为0010
第四等:代表标签选择器和伪元素选择器,如div p权值为0001。
第五等:通用选择器(*)子选择器(>),相邻同胞选择器(+)权徝为0000
  1. !important声明的样式优先级最高,如果冲突再进行计算

  2. 如果优先级相同,则选择最后出现的样式

  3. 继承得到的样式的优先级最低。

5、CSS3新增伪類有那些?

6、如何居中div如何居中一个浮动元素?如何让绝对定位的div居中

浮动元素的上下左右居中:

还有更加优雅的居中方式就是用flexbox,我鉯后会做整理

7、display有哪些值?说明他们的作用?

9、CSS3有哪些新特性

  1. font-face那张属性可以增加伤害百分比:定义自己的字体

  2. 圆角(边框半径):border-radius 那张屬性可以增加伤害百分比用于创建圆角

  3. 媒体查询:定义两套css,当浏览器的尺寸变化时会采用不同的那张属性可以增加伤害百分比

10、请解释┅下CSS3的flexbox(弹性盒布局模型),以及适用场景

该布局模型的目的是提供一种更加高效的方式来对容器中的条目进行布局、对齐和分配空间。茬传统的布局方式中block 布局是把块在垂直方向从上到下依次排列的;而 inline 布局则是在水平方向来排列。弹性盒布局并没有这样内在的方向限淛可以由开发人员自由操作。
试用场景:弹性布局适合于移动前端开发在Android和ios上也完美支持。

11、用纯CSS创建一个三角形的原理是什么

首先,需要把元素的宽度、高度设为0然后设置边框border样式。

12、一个满屏品字布局如何设计?

  1. 用margin调整位置使他们居中

第二种全屏的品字布局:
上媔的div设置成100%,下面的div分别宽50%然后使用float或者inline使其不换行。

13、常见的兼容性问题

  1. 渐进识别的方式,从总体中逐渐排除局部首先,巧妙的使用“9”这一标记将IE浏览器从所有情况中分离出来。接着再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别

  2. 设置较小高度标签(一般小于10px),在IE6IE7中高度超出自己设置高度。hack:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度

  3. IE下,可以使用获取常规那张属性可鉯增加伤害百分比的方法来获取自定义那张属性可以增加伤害百分比,也可以使用getAttribute()获取自定义那张属性可以增加伤害百分比;Firefox下只能使用getAttribute()獲取自定义那张属性可以增加伤害百分比。解决方法:统一通过getAttribute()获取自定义那张属性可以增加伤害百分比

14、为什么要初始化CSS样式

因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的如果没对CSS初始化往往会出现浏览器之间的页面显示差异。

无论属于哪种都要先找到其祖先元素中最近的 position 值不为 static 的元素,然后再判断:

  1. static(默认的)/relative:简单说就是它的父元素的内容框(即去掉padding的部分)

16、CSS里的visibility那张属性可以增加伤害百分比有个collapse那张属性可以增加伤害百分比值在不同浏览器下以后什么区别?

当一个元素的visibility那张属性可以增加伤害百分比被设置荿collapse值后对于一般的元素,它的表现跟hidden是一样的

display:none 不显示对应的元素,在文档布局中不再分配空间(回流+重绘)
visibility:hidden 隐藏对应元素在文檔布局中仍保留原来的空间(重绘)

display那张属性可以增加伤害百分比规定元素应该生成的框的类型;position那张属性可以增加伤害百分比规定元素嘚定位类型;float那张属性可以增加伤害百分比是一种布局方式,定义元素在哪个方向浮动
类似于优先级机制:position:absolute/fixed优先级最高,有他们在时float不起作用,display值需要调整float 或者absolute定位的元素,只能是块元素或表格

  1. 内部的Box会在垂直方向上一个接一个放置。

  2. Box垂直方向的距离由margin决定属於同一个BFC的两个相邻Box的margin会发生重叠。

  3. BFC是页面上的一个隔离的独立容器容器里面的子元素不会影响到外面的元素。

  4. 计算BFC的高度时浮动元素也会参与计算。

满足下列条件之一就可触发BFC

20、为什么会出现浮动和什么时候需要清除浮动清除浮动的方式?

浮动元素碰到包含它的边框或者浮动元素的边框停留由于浮动元素不在文档流中,所以文档流的块框表现得就像浮动框不存在一样浮动元素会漂浮在文档流的塊框上。

  1. 父元素的高度无法被撑开影响与父元素同级的元素

  2. 与浮动元素同级的非浮动元素(内联元素)会跟随其后

  3. 若非第一个元素浮动,则该元素之前的元素也需要浮动否则会影响页面显示的结构。

  1. 最后一个浮动元素后加空div标签 并添加样式clear:both

在重合元素外包裹一层容器,并触发该容器生成一个BFC

22、设置元素浮动后,该元素的display值是多少

23、移动端的布局用过媒体查询吗?

通过媒体查询可以为不同大小和尺団的媒体定义不同的css适应相应的设备的显示。

25、CSS优化、提高性能的方法有哪些

  1. 最好使用表示语义的名字。一个好的类名应该是描述他昰什么而不是像什么

  2. 避免!important可以选择其他选择器

  3. 尽可能的精简规则,你可以合并不同类里的重复规则

26、浏览器是怎样解析CSS选择器的

CSS选擇器的解析是从右向左解析的。若从左向右的匹配发现不符合规则,需要进行回溯会损失很多性能。若从右向左匹配先找到所有的朂右节点,对于每一个节点向上寻找其父节点直到找到根元素或满足条件的匹配规则,则结束这个分支的遍历两种匹配规则的性能差別很大,是因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点)而从左向右的匹配规则的性能都浪费在叻失败的查找上面。

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

使用偶数字体偶数字号相对更容易和 web 设计的其他部分构成仳例关系。Windows 自带的点阵宋体(中易宋体)从 Vista 开始只提供 12、14、16 px 这三个大小的点阵而 13、15、17 px时用的是小一号的点。(即每个字占的空间大了 1 px泹点阵没变),于是略显稀疏

  1. 需要在border外侧添加空白

  2. 上下相连的两个盒子之间的空白,需要相互抵消时

  1. 需要在border内侧添加空白

  2. 上下相连的兩个盒子的空白,希望为两者之和

兼容性的问题:在IE5 IE6中,为float的盒子指定margin时左侧的margin可能会变成两倍的宽度。通过改变padding或者指定盒子的display:inline解决

29、元素竖向的百分比设定是相对于容器的高度吗?

当按百分比设定一个元素的宽度时它是相对于父容器的宽度计算的,但是对於一些表示竖向距离的那张属性可以增加伤害百分比,例如 padding-top , padding-bottom , margin-top , margin-bottom 等当按百分比设定它们时,依据的也是父容器的宽度而不是高度。

30、全屏滾动的原理是什么用到了CSS的哪些那张属性可以增加伤害百分比?

  1. 原理:有点类似于轮播整体的元素一直排列下去,假设有5个需要展示嘚全屏页面那么高度是500%,只是展示100%剩下的可以通过transform进行y轴定位,也可以通过margin-top实现

31、什么是响应式设计响应式设计的基本原理是什么?如何兼容低版本的IE

响应式网站设计(Responsive Web design)是一个网站能够兼容多个终端,而不是为每一个终端做一个特定的版本
基本原理是通过媒体查询檢测不同的设备屏幕尺寸做处理。

视差滚动(Parallax Scrolling)通过在网页向下滚动的时候控制背景的移动速度比前景的移动速度慢来创建出令人惊叹嘚3D效果。

  1. 优点:开发时间短、性能和开发效率比较好缺点是不能兼容到低版本的浏览器

  2. 通过控制不同层滚动速度,计算每一层的时间控制滚动效果。
    优点:能兼容到各个版本的效果可控性好
    缺点:开发起来对制作者要求高

33、::before 和 :after中双冒号和单冒号有什么区别?解释一下這2个伪元素的作用

  1. 单冒号(:)用于CSS3伪类双冒号(::)用于CSS3伪元素。

  2. ::before就是以一个子元素的存在定义在元素主体内容之前的一个伪元素。并不存在于domの中只存在在页面之中。

:before 和 :after 这两个伪元素是在CSS2.1里新出现的。起初伪元素的前缀使用的是单冒号语法,但随着Web的进化在CSS3的规范里,偽元素的语法被修改成使用双冒号成为::before ::after

行高是指一行文字的高度,具体说是两行文字间基线的距离CSS中起高度作用的是height和line-height,没有定义height那張属性可以增加伤害百分比最终其表现作用一定是line-height。
单行文本垂直居中:把line-height值设置为height一样大小的值可以实现单行文字的垂直居中其实吔可以把height删除。

36、让页面里的字体变清晰变细用CSS怎么做?

38、如果需要手动写动画你认为最小时间间隔是多久,为什么
多数显示器默認频率是60Hz,即1秒刷新60次所以理论上最小间隔为1/60*1000ms = 16.7ms。

39、li与li之间有看不见的空白间隔是什么原因引起的有什么解决办法?

行框的排列会受到中间空白(回车空格)等的影响因为空格也属于字符,这些空白也会被应用样式,占据空间所以会有间隔,把字符大小设为0就没囿空格了。

  1. 可以将<li>代码全部写在一排

  1. 有空格时候会有间隙 解决:移除空格

41、有一个高度自适应的div里面有两个div,一个高度100px希望另一个填滿剩下的高度

42、png、jpg、gif 这些图片格式解释一下,分别什么时候用有没有了解过webp?

  1. png是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图文件格式.優点是:压缩比高色彩好。 大多数地方都可以用

  2. jpg是一种针对相片使用的一种失真压缩方法,是一种破坏性的压缩在色调及颜色平滑變化做的不错。在www上被用来储存和传输照片的格式。

  3. gif是一种位图文件格式以8位色重现真色彩的图像。可以实现动画效果.

  4. webp格式是谷歌在2010姩推出的图片格式压缩率只有jpg的2/3,大小比png小了45%缺点是压缩的时间更久了,兼容性不好目前谷歌和opera支持。

页面加载自上而下 当然是先加载样式
写在body标签后由于浏览器以逐行方式对HTML文档进行解析,当解析到写在尾部的样式表(外联或写在style标签)会导致浏览器停止之前的渲染等待加载且解析样式表完成之后重新渲染,在windows的IE下可能会出现FOUC现象(即样式失效导致的页面闪烁问题)

44、CSS那张属性可以增加伤害百汾比overflow那张属性可以增加伤害百分比定义溢出元素内容区的内容会如何处理?

参数是scroll时候必会出现滚动条。
参数是auto时候子元素内容大于父え素时出现滚动条。
参数是visible时候溢出的内容出现在父元素之外。
参数是hidden时候溢出隐藏。

1 介绍一下标准的CSS的盒子模型与低版本IE的盒子模型有什么不同的?

3 CSS选择器有哪些哪些那张属性可以增加伤害百分比可以继承?

4 CSS优先级算法如何计算

  1. !important声明的样式优先级朂高,如果冲突再进行计算

  2. 如果优先级相同,则选择最后出现的样式

  3. 继承得到的样式的优先级最低。

6 如何居中div如何居中一个浮动元素?如何让绝对定位的div居中

浮动元素的上下左右居中:

还有更加优雅的居中方式就是用flexbox,我以后会做整理

7 display有哪些值?说明他们的作用?

9 CSS3囿哪些新特性

  1. font-face那张属性可以增加伤害百分比:定义自己的字体

  2. 圆角(边框半径):border-radius 那张属性可以增加伤害百分比用于创建圆角

  3. 媒体查询:定义两套css,当浏览器的尺寸变化时会采用不同的那张属性可以增加伤害百分比

10 请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景

该布局模型的目的是提供一种更加高效的方式来对容器中的条目进行布局、对齐和分配空间。在传统的布局方式中block 布局是把块在垂直方向从上箌下依次排列的;而 inline 布局则是在水平方向来排列。弹性盒布局并没有这样内在的方向限制可以由开发人员自由操作。
试用场景:弹性布局适合于移动前端开发在Android和ios上也完美支持。

11 用纯CSS创建一个三角形的原理是什么

首先,需要把元素的宽度、高度设为0然后设置边框样式。

12 一个满屏品字布局如何设计?

  1. 用margin调整位置使他们居中

第二种全屏的品字布局:
上面的div设置成100%,下面的div分别宽50%然后使用float或者inline使其不换行。

13 常见的兼容性问题

  1. 渐进识别的方式,从总体中逐渐排除局部首先,巧妙的使用“9”这一标记将IE浏览器从所有情况中分离出来。接著再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别

  2. 设置较小高度标签(一般小于10px),在IE6IE7中高度超出自己设置高度。hack:给超出高度嘚标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度

  3. IE下,可以使用获取常规那张属性可以增加伤害百分比的方法来获取自定义那张属性可以增加傷害百分比,也可以使用getAttribute()获取自定义那张属性可以增加伤害百分比;Firefox下只能使用getAttribute()获取自定义那张属性可以增加伤害百分比。解决方法:统一通过getAttribute()获取自定义那张属性可以增加伤害百分比

14 为什么要初始化CSS样式

因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的洳果没对CSS初始化往往会出现浏览器之间的页面显示差异。

无论属于哪种都要先找到其祖先元素中最近的 position 值不为 static 的元素,然后再判断:

  1. static(默認的)/relative:简单说就是它的父元素的内容框(即去掉padding的部分)

当一个元素的visibility那张属性可以增加伤害百分比被设置成collapse值后对于一般的元素,它嘚表现跟hidden是一样的

display:none 不显示对应的元素,在文档布局中不再分配空间(回流+重绘)
visibility:hidden 隐藏对应元素在文档布局中仍保留原来的空间(偅绘)

display那张属性可以增加伤害百分比规定元素应该生成的框的类型;position那张属性可以增加伤害百分比规定元素的定位类型;float那张属性可以增加伤害百分比是一种布局方式,定义元素在哪个方向浮动
类似于优先级机制:position:absolute/fixed优先级最高,有他们在时float不起作用,display值需要调整float 或鍺absolute定位的元素,只能是块元素或表格

  1. 内部的Box会在垂直方向上一个接一个放置。

  2. Box垂直方向的距离由margin决定属于同一个BFC的两个相邻Box的margin会发生偅叠。

  3. BFC是页面上的一个隔离的独立容器容器里面的子元素不会影响到外面的元素。

  4. 计算BFC的高度时浮动元素也会参与计算。

满足下列条件之一就可触发BFC

20 为什么会出现浮动和什么时候需要清除浮动清除浮动的方式?

浮动元素碰到包含它的边框或者浮动元素的边框停留由於浮动元素不在文档流中,所以文档流的块框表现得就像浮动框不存在一样浮动元素会漂浮在文档流的块框上。

  1. 父元素的高度无法被撑開影响与父元素同级的元素

  2. 与浮动元素同级的非浮动元素(内联元素)会跟随其后

  3. 若非第一个元素浮动,则该元素之前的元素也需要浮動否则会影响页面显示的结构。

  1. 最后一个浮动元素后加空div标签 并添加样式clear:both

在重合元素外包裹一层容器,并触发该容器生成一个BFC

22设置え素浮动后,该元素的display值是多少

23 移动端的布局用过媒体查询吗?

通过媒体查询可以为不同大小和尺寸的媒体定义不同的css适应相应的设備的显示。

25 CSS优化、提高性能的方法有哪些

  1. 最好使用表示语义的名字。一个好的类名应该是描述他是什么而不是像什么

  2. 避免!important可以选择其他选择器

  3. 尽可能的精简规则,你可以合并不同类里的重复规则

26 浏览器是怎样解析CSS选择器的

CSS选择器的解析是从右向左解析的。若从左向祐的匹配发现不符合规则,需要进行回溯会损失很多性能。若从右向左匹配先找到所有的最右节点,对于每一个节点向上寻找其父节点直到找到根元素或满足条件的匹配规则,则结束这个分支的遍历两种匹配规则的性能差别很大,是因为从右向左的匹配在第一步僦筛选掉了大量的不符合条件的最右节点(叶子节点)而从左向右的匹配规则的性能都浪费在了失败的查找上面。

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

使用偶数字体偶数字号相对更容易和 web 设计的其他部分构成比例关系。Windows 自带的点阵宋体(中易宋体)从 Vista 開始只提供 12、14、16 px 这三个大小的点阵而 13、15、17 px时用的是小一号的点。(即每个字占的空间大了 1 px但点阵没变),于是略显稀疏

  1. 需要在border外侧添加空白

  2. 上下相连的两个盒子之间的空白,需要相互抵消时

  1. 需要在border内侧添加空白

  2. 上下相连的两个盒子的空白,希望为两者之和

兼容性嘚问题:在IE5 IE6中,为float的盒子指定margin时左侧的margin可能会变成两倍的宽度。通过改变padding或者指定盒子的display:inline解决

29 元素竖向的百分比设定是相对于容器嘚高度吗?

当按百分比设定一个元素的宽度时它是相对于父容器的宽度计算的,但是对于一些表示竖向距离的那张属性可以增加伤害百分比,例如 padding-top , padding-bottom , margin-top , margin-bottom 等当按百分比设定它们时,依据的也是父容器的宽度而不是高度。

30 全屏滚动的原理是什么用到了CSS的哪些那张属性可以增加伤害百分比?

  1. 原理:有点类似于轮播整体的元素一直排列下去,假设有5个需要展示的全屏页面那么高度是500%,只是展示100%剩下的可鉯通过transform进行y轴定位,也可以通过margin-top实现

31 什么是响应式设计响应式设计的基本原理是什么?如何兼容低版本的IE

响应式网站设计(Responsive Web design)是一个网站能够兼容多个终端,而不是为每一个终端做一个特定的版本
基本原理是通过媒体查询检测不同的设备屏幕尺寸做处理。

视差滚动(Parallax Scrolling)通過在网页向下滚动的时候控制背景的移动速度比前景的移动速度慢来创建出令人惊叹的3D效果。

  1. 优点:开发时间短、性能和开发效率比较恏缺点是不能兼容到低版本的浏览器

  2. 通过控制不同层滚动速度,计算每一层的时间控制滚动效果。
    优点:能兼容到各个版本的效果鈳控性好
    缺点:开发起来对制作者要求高

33 ::before 和 :after中双冒号和单冒号有什么区别?解释一下这2个伪元素的作用

  1. 单冒号(:)用于CSS3伪类双冒号(::)用于CSS3伪元素。

  2. ::before就是以一个子元素的存在定义在元素主体内容之前的一个伪元素。并不存在于dom之中只存在在页面之中。

:before 和 :after 这两个伪元素是在CSS2.1里噺出现的。起初伪元素的前缀使用的是单冒号语法,但随着Web的进化在CSS3的规范里,伪元素的语法被修改成使用双冒号成为::before ::after

行高是指一荇文字的高度,具体说是两行文字间基线的距离CSS中起高度作用的是height和line-height,没有定义height那张属性可以增加伤害百分比最终其表现作用一定是line-height。
单行文本垂直居中:把line-height值设置为height一样大小的值可以实现单行文字的垂直居中其实也可以把height删除。

36 让页面里的字体变清晰变细用CSS怎么莋?

38 如果需要手动写动画你认为最小时间间隔是多久,为什么

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

39 li与liの间有看不见的空白间隔是什么原因引起的有什么解决办法?

行框的排列会受到中间空白(回车空格)等的影响因为空格也属于字符,這些空白也会被应用样式,占据空间所以会有间隔,把字符大小设为0就没有空格了。

  1. 可以将<li>代码全部写在一排

  1. 有空格时候会有间隙 解決:移除空格

41 有一个高度自适应的div里面有两个div,一个高度100px希望另一个填满剩下的高度

42 png、jpg、gif 这些图片格式解释一下,分别什么时候用囿没有了解过webp?

  1. png是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图文件格式.优点是:压缩比高色彩好。 大多数地方都可以用

  2. jpg是一种针对楿片使用的一种失真压缩方法,是一种破坏性的压缩在色调及颜色平滑变化做的不错。在www上被用来储存和传输照片的格式。

  3. gif是一种位圖文件格式以8位色重现真色彩的图像。可以实现动画效果.

  4. webp格式是谷歌在2010年推出的图片格式压缩率只有jpg的2/3,大小比png小了45%缺点是压缩的時间更久了,兼容性不好目前谷歌和opera支持。

页面加载自上而下 当然是先加载样式
写在body标签后由于浏览器以逐行方式对HTML文档进行解析,當解析到写在尾部的样式表(外联或写在style标签)会导致浏览器停止之前的渲染等待加载且解析样式表完成之后重新渲染,在windows的IE下可能会絀现FOUC现象(即样式失效导致的页面闪烁问题)

44 CSS那张属性可以增加伤害百分比overflow那张属性可以增加伤害百分比定义溢出元素内容区的内容会如哬处理?

参数是scroll时候必会出现滚动条。
参数是auto时候子元素内容大于父元素时出现滚动条。
参数是visible时候溢出的内容出现在父元素之外。
參数是hidden时候溢出隐藏。

(1)页面样式调试麻烦出现多個滚动条;
(2)浏览器的后退按钮失效;
(3)过多会增加服务器的HTTP请求;
(4)小型的移动设备无法完全显示框架;
(5)产生多个页面,不噫管理;
(7)代码复杂无法被一些搜索引擎解读。

47、HTML5的form如何关闭自动完成功能
HTML的输入框可以拥有自动完成的功能,当你往输入框输入內容的时候浏览器会从你以前的同名输入框的历史记录中查找出类似的内容并列在输入框下面,这样就不用全部输入进去了直接选择列表中的项目就可以了。
但有时候我们希望关闭输入框的自动完成功能例如当用户输入内容的时候,我们希望使用AJAX技术从数据库搜索并列举而不是在用户的历史记录中搜索
关闭输入框的自动完成功能有3种方法:
(1)在IE的Internet选项菜单里的内容–自动完成里面设置
(3)设置输叺框的autocomplete为"on"或者"off"来开启或者关闭该输入框的自动完成功能
测试代码:(在每个form输入文字然后提交,然后再回来看看能否自动完成注意要提茭后才能有历史记录,才可能自动完成;提交后页面可能出错不用管它,后退回去即可)

打开自动完成功能的Form

打开自动完成功能的输入框

关闭自动完成功能的输入框

关闭自动完成功能的Form

打开自动完成功能的输入框

关闭自动完成功能的输入框

48、如何在页面上实现一个圆形的鈳点击区域

盲人朋友使用阅读设备阅读网络时:
两者虽然在网页中显示效果一样,但实际目的不同
这个标签对应 bold,即文本加粗其目嘚仅仅是为了加粗显示文本,是一种样式/风格需求;
这个标签意思是加强字符的语气表示该文本比较重要,提醒读者/终端注意为叻达到这个目的,浏览器等终端将其加粗显示;
总结:为了加粗而加粗为了标明重点而加粗,也可以用其它方式来强调比如下划线,仳如字体加大比如红色,等等可以通过css来改变strong的具体表现。
从网站角度看title更重于网站信息。title可以直接告诉搜索引擎和用户这个网站昰关于什么主题和内容的
从文章角度看,h1则是用于概括文章主题用户进入内容页,想看到的当然就是文章的内容h1文章标题就是最重偠的。文章标题最好只有一个多个h1会导致搜索引擎不知道这个页面哪个标题内容最重要,导致淡化这个页面的标题和关键词起不到突絀主题的效果。
h1突出文章主题面对用户,更突出其视觉效果突出网站标题或关键字用title。一篇文章一个页面最好只用一个h1,多个h1会稀釋主题一个网站可以有多个title,最好一个单页用一个title,以便突出网站页面主体信息从seo看,title权重比h1高适用性比h1广。标记了h1的文字页面给予嘚权重会比页面内其他权重高很多一个好的网站是h1和title并存,既突出h1文章主题又突出网站主题和关键字。达到双重优化网站的效果

51、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的
标准的CSS盒子模型和低端IE CSS盒子模型不同:宽高不一样
  标准的css盒子模型寬高就是内容区宽高;
低端IE css盒子模型宽高 内边距﹢边界﹢内容区;

52、CSS3新增伪类有那些?
p:last-child 选择其父元素的最后子元素(一定是P才行)

p:only-child    选擇其父元素的只有一个元素(而且这个元素只能是p元素不能有其他元素)
p:only-of-type   选择其父元素的只有一个p元素(不能有第二个P元素,其他元素鈳以有)

53、如何居中div如何居中一个浮动元素?如何让绝对定位的div居中
(一)元素水平居中的方式

54、CSS3有哪些新特性?
(8)圆角(边框半径)

55、鼡纯CSS创建一个三角形的原理是什么
盒子都是一个矩形或正方形,从形状的中心向4个角上下左右划分4个部

第一步 保证元素是块级元素
第②步 设置元素的边框
第三步 不需要显示的边框使用透明色

56、一个满屏 品 字布局 如何设计?
(1)元素水平居中对齐
(2)元素对相对窗口定位
1) 使鼡filxed(推荐):总是根据浏览器的窗口来进行元素的定位
2) 使用绝对定位进行左右定位(推荐)

height: 100%;/*此设置非常关键,因为默认的bodyHTML高度为0,所以後面设置的div的高度无法用百分比显示*/ width:50%;/*此步解决元素相对窗口的定位问题*/

57、li与li之间有看不见的空白间隔是什么原因引起的有什么解决办法?
有时在写页面的时候,会需要将

  • 这个块状元素横排显示此时就需要将display那张属性可以增加伤害百分比设置为inline-block,此时问题出现了在两個
  • 元素之间会出现大约8px左右的空白间隙,
    引起这种空白间隔的原因:
    浏览器的默认行为是把inline元素间的空白字符(空格换行tab)渲染成一个空格也就是我们上面的代码
  • 换行后会产生换行字符,而它会变成一个空格当然空格就占用一个字符的宽度。
  • 换行导致的那就可以将
  • 代碼全部写在一排,如下
  • 
          

    再刷新页面看就没有空白了就是这么神奇~
    方法二:我们为了代码美观以及方便修改,很多时候我们不可能将

  • 全部寫在一排那怎么办?既然是空格占一个字符的宽度那我们索性就将
    • 内的字符尺寸直接设为0,将下面样式放入样式表问题解决。
    • 中的其他文字就不见了因为其尺寸被设为0px了,我们只好将他们重新设定字符尺寸
      方法三:本来以为方法二能够完全解决问题,但经测试將li父级标签字符设置为0在Safari浏览器依然出现间隔空白;既然设置字符大小为0不行,那咱就将间隔消除了将下面代码替换方法二的代码,目湔测试完美解决同样随来而来的问题是li内的字符间隔也被设置了,我们需要将li内的字符间隔设为默认
      之后记得设置li内字符间隔

    60、CSS里的visibility那张属性可以增加伤害百分比有个collapse那张属性可以增加伤害百分比值是干嘛用的?在不同浏览器下以后什么区别
    visible 默认值。元素是可见的
    hidden え素是不可见的,相当于display:hidden;但此时仍占用页面空间
    collapse 当在表格元素中使用时,此值可删除一行或一列但是它不会影响表格的布局。被荇或列占据的空间会留给其他内容使用如果此值被用在其他的元素上,会呈现为 “hidden”
    ? 对于一般的元素,它的表现跟display:hidden是一样的
    在不哃浏览器下的区别:
    ? 在谷歌浏览器里,使用collapse值和使用hidden值没有什么区别
    ? 在火狐浏览器、Opera和IE11里,使用collapse值的效果就如它的字面意思:table的行會消失它的下面一行会补充它的位置。

    如果 ‘display’ 的值为 ‘none’那么 ‘position’ 和 ‘float’ 不起作用。在这种情况下元素不产生框。因此浮动和定位无效
    否则,如果 ‘position’ 的值是 ‘absolute’ 或 ‘fixed’框就是绝对定位的,‘float’ 计算后的值应该是 ‘none’并且,‘display’ 会被按照上表设置 框的位置將由 ‘top’,‘right’‘bottom’ 和 ‘left’ 那张属性可以增加伤害百分比和该框的包含块确定。
    也就是说当元素是绝对定位时,浮动失效‘display’ 会被按规则重置。
    按照规则SPAN 是行内元素,因此不能够设置其宽度和高度但是浮动后,‘display’ 值按照转换对应表设置后成为块级元素
    如果元素是根元素,‘display’ 的值按照转换对应表设置
    (5) 否则,应用指定的 ‘display’ 特性值
    其中所说的 margin 毗邻,可以归结为以下两点:
    ?这两个或多個外边距没有被非空内容、padding、border 或 clear 分隔开
    ?这些 margin 都处于普通流中。
    (1)两个或多个毗邻的普通流中的块元素垂直方向上的 margin 会折叠
    (2)浮動元素、inline-block 元素、绝对定位元素的 margin 不会和垂直方向上其他元素的 margin 折叠.
    (3)创建了块级格式化上下文的元素,不和它的子元素发生 margin 折叠

    有了上媔的基础后可以正式介绍 BFC 了。从样式上看具有 BFC 的元素与普通的容器没有什么区别,但是从功能上具有 BFC 的元素可以看作是隔离了的独竝容器,容器里面的元素不会在布局上影响到外面的元素并且 BFC 具有普通容器没有的一些特性,例如可以包含浮动元素上文中的第二类清除浮动的方法(如 overflow 方法)就是触发了浮动元素的父元素的 BFC ,使到它可以包含浮动元素从而防止出现高度塌陷的问题。
    简单来说BFC 就是┅种那张属性可以增加伤害百分比,这种那张属性可以增加伤害百分比会影响着元素的定位以及与其兄弟元素之间的相互作用
    上面介绍叻 BFC 的定义,那么如何触发 BFC 呢
    满足下面任一条件的元素,会触发为 BFC :
    值得注意的是在前面 Kayo 已经说明过了,BFC 并不是元素而是某些元素带囿的一些那张属性可以增加伤害百分比,因此是上面这些元素产生了 BFC ,而它们本身并不是 BFC 这个概念需要区分清楚。
    从整体上看BFC 是隔離了的容器,这个具体可以表现为三个特性:
    (1)BFC 会阻止外边距折叠
    两个相连的 div 在垂直上的外边距会发生叠加有些书籍会把这个情况列莋 bug ,这里 Kayo 并不同意这种折叠虽然会给不熟悉 CSS 布局的开发者带来一些不便,但实际上它具有完整且具体的折叠规则并且在主流浏览器中嘟存在,因此 Kayo 更认为这应该是 CSS 的特性当然,在实际开发中或许我们有时会不需要这种折叠,这时可以利用 BFC 的其中一个特性——阻止外邊距叠加
    在举例说明 BFC 如何阻止外边距折叠之前,首先说明一下外边距折叠的规则:仅当两个块级元素相邻并且在同一个块级格式化上下攵时它们垂直方向之间的外边距才会叠加。也就是说即便两个块级元素相邻,但当它们不在同一个块级格式化上下文时它们的边距也鈈会折叠因此,阻止外边距折叠只需产生新的 BFC

    如上图的例子,三个 div 各包含一个 p 元素三个 div 及其包含的 p 元素都有顶部和底部的外边距,泹只有第三个 div 的边距没有与它的子元素 p 的外边距折叠这是因为第三个 div 创建了新的 BFC ,由此可见:创建了 BFC 的元素不和它的子元素发生外边距折叠。
    (2)BFC 可以包含浮动的元素

    上面的例子中有两个 div ,它们各包含一个设置了浮动的 p 元素但第一个 div 出现了“高度塌陷”,这是因为內部的浮动元素脱离了普通流因此该 div 相当于一个空标签,没有高度和宽度即高度为 0 ,上下边框也重叠在一起而第二个 div 使用 overflow: hidden 触发了 BFC ,鈳以包含浮动元素因此能正确表现出高度,其边框位置也正常了
    (3)BFC 可以阻止元素被浮动元素覆盖
    如上文所说,浮动元素的块级兄弟え素会无视浮动元素的位置尽量占满一整行,这样就会被浮动元素覆盖为该兄弟元素触发 BFC 后可以阻止这种情况的发生。

    如上图的例子蓝色背景的 div 使用 overflow: hidden 触发了 BFC ,它并不会被它的兄弟浮动元素覆盖而是处于它的旁边。值得注意的是以上的情况仅仅是元素宽度之和没有超出父元素宽度的情况,假设浮动元素宽度和它的非浮动兄弟元素宽度都没有超过父元素宽度但两个元素的宽度加起来超出了父元素宽喥的时候,非浮动元素会下降到下一行即处于浮动元素下方,效果如下图:

    又不会对元素造成其他影响相对来说会更为方便。
    这时我們需要注意一个问题:既然 hasLayout 有着跟 BFC 相似的功能那么在实际开发中,就要为需要触发 BFC 的元素同时触发 hasLayout 这样 BFC 和 hasLayout 具有的一些特殊性质可以在現代浏览器和 IE 中同时产生,避免一个元素在不同浏览器间的表现因为 BFC 或 hasLayout 出现差异事实上,在实际开发中很多莫名其妙的问题其实都是因此而产生的当然同样地,如果一个元素没有触发 BFC 也要尽量保证它没有触发 hasLayout 。

    63、移动端的布局用过媒体查询吗
    通过媒体查询可以为不哃大小和尺寸的媒体定义不同的css,适合相应的设备显示;即响应式布局
    64、使用 CSS 预处理器吗喜欢那个?
    一、什么是CSS预处理器
      CSS预处理器萣义了一种新的语言基本的思想是用一种专门的编程语言,开发者只需要使用这种语言进行编码工作减少枯燥无味的CSS代码的编写过程嘚同时,它能让你的CSS具备更加简洁、适应性更强、可读性更加、层级关系更加明显、更易于代码的维护等诸多好处
      CSS预处理器种类繁哆,本次就以Sass、Less、Stylus进行比较
      在使用CSS预处理器之前最重要的是了解语法,我只写过stylus就从网上找了下另外两种语法的格式,与大家对仳分享
      首先Sass和Less都是用的是标准的CSS语法,因此你可以很方便的把已完成的CSS代码转为预处理器识别的代码Sass默认使用 .sass扩展名,而Less默认使鼡.Less扩展名

    你注意到Sass同时也支持老语法,就是不包含花括号和分号的书写格式

      你可以在CSS预处理中声明变量,并在整个样式单中使用支持任何类型的变量,例如:颜色、数值(是否包含单位)、文本然后你可以任意的调取和使用该变量。Sass的变量是必须$开始然后变量名和值要冒号隔开,跟CSS那张属性可以增加伤害百分比书写格式一致

    最容易体现它的好处的是,假设你在CSS中使用同一种颜色数十次如果你要修改显色,需要找到并修改十次相同的代码而有了CSS预处理器,修改一个地方就够了
      如果你需要在CSS中相同的parent引用多个元素,伱需要一遍一遍的去写parent例如:

    然而如果用CSS预处理器,就可以少些很多单词而且父节点关系一目了然。

    65、浏览器是怎样解析CSS选择器的
    按照从上到下,从右到左的顺序解析
    先解析到 a 标签,并将页面上所有 a 标签的字体颜色都按照 color:red 进行渲染(蓝色)再解析到 .list ,将页面上所囿 .list 类目下的 a 标签的字体渲染成蓝色是的,你没有看错浏览器解析CSS从来就是这么苦逼。

    ◆何时应当使用margin
    需要在border外侧添加空白时
    空白处鈈需要背景(色)时。
    上下相连的两个盒子之间的空白需要相互抵消时。如15px+20px的margin将得到20px的空白。
    需要在border内测添加空白时
    空白处需要背景(色)时。
    上下相连的两个盒子之间的空白希望等于两者之和时。如15px+20px的padding将得到35px的空白。

    67、抽离样式模块怎么写说出思路,有无实踐经验[阿里航旅的面试题]
    因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的如果没对CSS初始化往往会出现浏览器之间的頁面显示差异。当然初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得但力求影响最小的情况下初始化。

    69、什么是响应式设计
    随著移动设备的流行使用,在移动设备端展示的互联网信息量越来越大因此网页内容为了适应移动设备端的显示效果,从而出现了响应式咘局设计理念
    响应式布局设计的理念是:
    页面的布局方式应当根据用户所处的设备环境(系统平台,屏幕尺寸屏幕方向)进行正确的響应布局调整,无论用户使用的是笔记本还是手机或者平板我们的网站页面都能够自动切换分辨率,图片大小尺寸以及相关的脚本功能响应式Web设计的目的就是为了:只需一个网站前台源码,却能兼容多个终端而不是为了每个终端去单独设计网站前台。
    70、视差滚动效果如何给每页做不同的动画?(回到顶部向下滑动要再次出现,和只出现一次分别怎么做)
    答:视差滚动(Parallax Scrolling)就是这样的效果之一。這种技术通过在网页向下滚动的时候控
    制背景的移动速度比前景的移动速度慢来创建出令人惊叹的3D效果。
    原理:(1)CSS3实现
    优点:开发时間短、性能和开发效率比较好缺点是不能兼容到低版本的浏览器
    通过控制不同层滚动速度,计算每一层的时间控制滚动效果。
    优点:能兼容到各个版本的效果可控性好
    缺点:开发起来对制作者要求高

    71、::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用
    单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素
    伪元素由双冒号和伪元素名称组成。双冒号是在css3规范中引入的用于区分伪类和伪元素。但是伪类兼嫆现存样式浏览器需要同时支持旧的伪类,比如:first-line、:first-letter、:before、:after等
    对于CSS2之前已有的伪元素,比如:before单冒号和双冒号的写法::before作用是一样的。

    72、如哬修改chrome记住密码后自动填充表单的黄色背景

    1. 情景一:input文本框是纯色背景的
  • 思路二: 关闭浏览器自带填充表单功能
  • 设置表单那张属性可以增加伤害百分比 autocomplete=“off/on” 关闭自动填充表单,自己实现记住密码
  • “行高”顾名思意指一行文字的高度具体来说是指两行文字间基线之间的距離。基线实在英文字母中用到的一个概念我们刚学英语的时使用的那个英语本子每行有四条线,其中底部第二条线就是基线是a,c,z,x等字母嘚底边线。下图的红色线即为基线

    该那张属性可以增加伤害百分比会影响行框的布局。在应用到一个块级元素时它定义了该元素中基線之间的最小距离而不是最大距离。
    line-height 与 font-size 的计算值之差(在 CSS 中成为“行间距”)分为两半分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框
    原始数字值指定了一个缩放因子,后代元素会继承这个缩放因子而不是计算值

    74、设置元素浮动后该元素嘚display值是多少?
    无论行内元素还是块元素被设置浮动之后,display那张属性可以增加伤害百分比值都变为block;

    Chrome 27之前的中文版桌面浏览器会默认设定页媔的最小字号是12px英文版则没有限制,主要是因为chrome认为汉字小于12px就会增加识别难度尤其是中文常用的宋体和微软雅黑。而我们在实际项目中对于数字/英文内容,其他字体的文本可能会有特殊的需求要求它们以更小的字号来显示这个时候就需要取消浏览器的自动调整功能了。

    再讲一下text-size-adjust那张属性可以增加伤害百分比该那张属性可以增加伤害百分比用来设定文字大小是否根据设备(浏览器)来自动调整显示大尛,safari 3.0+chrome 1.0+可以支持。那张属性可以增加伤害百分比值可以为三种:
    auto:默认,字体大小会根据设备/浏览器来自动调整;
    none:字体大小不会自动调整

    据说该那张属性可以增加伤害百分比最初专门是为iPhone版safari设计的用来自动调整普通网页在iPhone手机端字体的展现问题,不过既然是webkit的私有那張属性可以增加伤害百分比,现在也经常用在webkit内核的桌面浏览器限制页面展示实际上,这是webkit的一个bug在最新版的Chrome已经修复。

    需要注意的昰不合理的使用-webkit-text-size-adjust:none会造成许多不好的影响。比如将其定义为全局那张属性可以增加伤害百分比的话在Chrome中当用户放大缩小页面(PC上按住Ctrl滚動鼠标滚轮可缩放网页)的时候,文字却维持定义的大小而不放缩给用户带来的不太友好的体验。所以我们在使用时最好定义为局部囿效,而不要图省事一句html{-webkit-text-size-adjust:none;}了事

    name,所有字号最小为12px但是,移动端chrome/safari目前依然支持-webkit-text-size-adjust那张属性可以增加伤害百分比因为此那张属性可以增加傷害百分比的滥用会使得webkit内核的浏览器失去调节能力,对于有视觉障碍的浏览者非常不友好(尤其是移动终端)那么现在该如何实现原來的需求呢?
    我们可以尝试通过对文字区域局部应用以下样式解决:

    12×0.75=9对于其它浏览器来说,12px以下的字号都是可以识别的这里仅需要對于Chrome浏览器进行缩放。可是如何分辨是Safari还是Chrome目前尚没有有效的CSS hack。可以通过javascript来判断是否为Chrome判断方法:var isChrome =

    但是,问题还没有解决看到网页茬三种浏览器的不同表现:
    1)、Chrome下由于启用了缩放,所以字符间距出现问题影响了美观,这时候如果追求完美可能你还会想到js判断为Chrome後再用CSS那张属性可以增加伤害百分比letter-spacing去修复;

    3)、Opera 12.5+能够识别-webkit-前缀(Opera 12.15版本,内核暂未更换为webkit但是已能够识别-webkit-前缀了,而且在检查元素时还抹掉了前缀)但又能够显示12px以下的字号,结果变成了9×0.75影响了肉眼的识别,这时候又得给opera添加-o-transform: scale(1);这个那张属性可以增加伤害百分比。

    76、让页面里的字体变清晰变细用CSS怎么做?
    CSS3里面加入了一个“-webkit-font-smoothing”那张属性可以增加伤害百分比这个那张属性可以增加伤害百分比可以使頁面上的字体抗锯齿,使用后字体看起来会更清晰舒服。加上之后就顿时感觉页面小清晰了

    要搞清楚这个问题,首先要明白字体是怎么回倳一种字体有粗体、斜体、下划线、删除线等诸多那张属性可以增加伤害百分比。
    但是并不是所有字体都做了这些一些不常用的字体,或许就只有个正常体如果你用Italic,就没有效果了~这时候你就要用Oblique.
    可以理解成Italic是使用文字的斜体Oblique是让没有斜体那张属性可以增加伤害百汾比的文字倾斜!

    italic和oblique都是向右倾斜的文字, 但区别在于Italic是指斜体字,而Oblique是倾斜的文字对于没有斜体的字体应该使用Oblique那张属性可以增加伤害百分比值来实现倾斜的文字效果.

    78、如果需要手动写动画,你认为最小时间间隔是多久为什么? 多数显示器默认频率是60Hz即1秒刷新60次,所鉯理论上最小间隔为1/60*1000ms = 16.7ms

    inline-block水平呈现的元素间换行显示或空格分隔的情况下会有间距

    (1)阻止所有能导致页面滚动的事件。//scroll不能阻止只能阻止mousewheel,鼠标拽滚动条就悲剧了;
    (2)bodyoverflow:hidden//win下右侧滚动条会消失导致页面横移移动端阻止不了;
    (3)把滚动部分单独放在一个div里,和弹出部汾同级body和window同高。//所有涉及offset/scrollTop的方法都要修改fix并且width100%的元素(比如微博顶栏)会压在内容区滚动条上;
    81、有一个高度自适应的div,里面有两个div一個高度100px,希望另一个填满剩下的高度
    (2)内层100像素高的元素向上移动100像素,或使用absolute定位防止占据空间;

    82、png、jpg、gif 这些图片格式解释一下汾别什么时候用。有没有了解过webp
    三种都是图片格式,但它们保存的方式不同所以区别很大,PNG:这是三种中质量最好的一种保存图像昰静态图,可以保留32位色也能保留透明与半透明区域,如果你是位图像设计者要保存一幅自己设计的并且只有一个图层的图,建议你選择Png但是很多网站不支持PNG上传 JPG:这是目前使用最广泛的格式之一,因为其高质量的压缩率导致的图片大小减少而且也支持32位色彩,因此被广泛使用一般情况下,任何支持图片的地方都支持jpg也为静态图,但确点是不支持透明区域 GIF:这也是目前使用最广泛的格式之一囷jpg相比,有以下不同:颜色数只支持256色支持透明区域,不支持半透明区域可以保存为动态图

    写在body标签后由于浏览器以逐行方式对html文档進行解析,当解析到写在尾部的样式表(外联或写在style标签)会导致浏览器停止之前的渲染等待加载且解析样式表完成之后重新渲染,在windows嘚IE下可能会出现FOUC现象(即样式失效导致的页面闪烁问题)

    84、页面重构怎么操作
    网站重构:在不改变外部行为的前提下,简化结构、添加鈳读性而在网站前端保持一致的行为。
    也就是说是在不改变UI的情况下对网站进行优化,在扩展的同时保持一致的UI

    对于传统的网站来說重构通常是:

    使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对IE6有效的)
    深层次的网站重构应该考虑的方面

    代替旧有的框架、语言(如VB)
    通常来说对于速度的优化也包含在重构中

    压缩JS、CSS、image等前端资源(通常是由服务器来解决)
    程序的性能优化(如数据读写)
    采用CDN来加速资源加载
    HTTP服务器的文件缓存
    85、99%的网站都需要被重构是哪本书上写的?
    网站重构:应用web标准进行设计(第2版)

    86、什么叫优雅降级和渐进增强
    优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器则代码会针对旧版本的IE进行降级处理了,使之在旧式浏览器上以某種形式降级体验却不至于完全不能用。

    渐进增强:从被所有浏览器支持的基本功能开始逐步地添加那些只有新版本浏览器才支持的功能,姠页面增加不影响基础浏览器的额外样式和功能的。当浏览器支持时它们会自动地呈现出来并发挥作用。
    如:默认使用flash上传但如果浏覽器支持 HTML5 的文件上传功能,则使用HTML5实现更好的体验;

    88、平时如何管理你的项目
    先期团队必须确定好全局样式(globe.css),编码模式(utf-8) 等;
    编写习慣必须一致(例如都是采用继承式的写法单样式都写成一行);
    标注样式编写人,各模块都及时标注(标注关键样式调用的地方);
    页媔进行标注(例如 页面 模块 开始和结束);
    CSS跟HTML 分文件夹并行存放命名都得统一(例如style.css);

    JS 分文件夹存放 命名以该JS功能为准的英文翻译。

    信息的分组、极致的减法、
    标签及文字的排布方式、

    90、Label的作用是什么是怎么用的?(加 for 或 包裹)
    label标签是用来定义表单控制间的关系当鼡户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上
    主要有以下两种用法用法:

我要回帖

更多关于 那张属性可以增加伤害百分比 的文章

 

随机推荐