前端面试题集锦(二)之CSS部分
1、CSS中的选择器都有哪些?权限情况如何?
解答:
(1)类选择器 .className
  (2) ID选择器 #id
  (3) 元素选择器 div 可以多个,以逗号隔开
     (4)父子选择器 以空格隔开  div p ,表示所有div 下的p元素
     (5)父子组合选择器 div>p   , 表示所有父级元素是div的p元素
     (6)相邻选择器 div+p , 表示所有紧接着div之后的p元素
     (7)属性选择器  [target] , 表示所有带有target属性的元素
     (8)属性筛选选择器 [arrt= ]  [arrt-= ] [arrt|=] ,分别表示某项属性等于 ,某项属性包含,某项属性以某字符开头的元素
     (9)伪类选择器 :link , :visited, :hover, :active, :first-child, 等等
   选择器权限: 行内样式 > id > class > element > * 通配符
2、CSS常用的伪类和伪元素
解答:
(1)常用的伪类有:
          :hover -表示鼠标经过改变颜色;
          :nth-child(even)-表示父元素的第偶数个子元素, 常用来生成斑马纹效果
	  :nth-child(odd)-表示父元素的第奇数个子元素,常用来生成斑马纹效果
	  :disabled - 表示选择所有禁用的表单元素
	  :checked - 表示所有选中的表单元素
      (2)常用的伪元素
          :after  向指定的元素后增加内容
	  :before 向指定的元素前增加内容
	  :first-letter 表示要选中的文本的第一个字母的样式
	  :first-line 表示要选中的文本的第一行文字的样式
3、CSS中的盒模型,有哪几种盒模型
解答:
CSS中的定位属性:分为几种
    (1)static : 默认定位, 无定位
    (2)relative: 相对定位,相对于自身位置进行偏移
    (3)absolute: 绝对行为, 相对于最近的非 static 定位祖先元素的偏移,绝对定位的元素可以设置外边距(margin),且不会与其他边距合并
  (4)  fixed : 固定定位,相对于屏幕视口(viewport)的位置
    (5)sticky: 粘性定位,盒位置根据正常流计算(这称为正常流动中的位置),
	    然后相对于该元素在流中的 flow root(BFC)和 containing block(最近的块级祖先元素)定位。
	    在所有情况下(即便被定位元素为 table时),该元素定位均不对后续元素造成影响。
	    当元素 B 被粘性定位时,后续元素的位置仍按照 B 未定位时的位置来确定。
	    position: sticky对 table元素的效果与 position: relative 相同。
4、CSS中的盒模型,分为哪几种?
解答:
(1)盒模型的概念:
        盒模型的组成由里向外content,padding,border,margin.
	标准盒模型:盒模型的宽高只是内从content的宽高
	IE盒模型: IE模型中盒模型的宽高是内容(content)+填充(padding)+边框(border)的总宽高。
    (2)CSS3 的属性 box-sizing
       可以设置盒模型为content-box 或 border-box
5、CSS中的float属性的理解,如何清除浮动,如何解决浮动元素撑不开高度的问题
解答:
CSS中的float属性
     浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次
(1)浮动的本质是用来文字环绕的,像分栏布局和列表排列都可用其它属性实现。
(2)浮动是一个带有方位的display:inline-block;所以设置浮动,就会有默认的display:inline-block;这个属性。
              不需要再写display了;设置display:inline-block带来的各种效果,比如高宽自适应而不是继承父元素宽。
              可以设置高和宽。他的前后不会像块级元素默认换行(但是它没有高度)。
(3)浮动会破坏inline-box,产生两个结果。①(无inlinebox->无line-box->无高度)。
            ②图片与文字无法同行显示。这两个结果恰恰是文字环绕的所必需的
float和position的相互影响
如果在float上设置position:absolute的话,会覆盖float的属性。就不是浮动了。float失效
在float上设置position:relative的话,如果设置left/top/right/bottom等属性,则元素会先浮动到相应位置,
	然后再根据top/left/bottom/right所设置的距离发生偏移,在float上设置margin属性也是有效的。
清除浮动的方法:设置clear:both,clear:left,clear:right属性,
解决浮动元素撑不开父元素高度的问题:
1、使用空的块级元素撑开高度
	2、对父元素使用:after伪元素
	3、对父元素添加over-flow:hidden属性
6、CSS中外边距重合问题的描述,如何解决,CSS中bfc的理解block fomatting context
解答:
(1)在一个Web页面的CSS渲染中,块级格式化上下文 (Block Fromatting Context)是按照块级盒子布局的。W3C对BFC的定义如下:
             浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),
	     以及overflow值不为“visiable”的块级盒子,都会为他们的内容创建新的BFC(块级格式上下文)。
     (2)创建BFC的条件
               1、float的值不是none。
	       2、position的值不是static或者relative。
	       3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
	       4、overflow的值不是visible
	 BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,
	 块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
	作用: 利用BFC避免外边距折叠,解决容器高度不会被浮动元素撑开的问题,避免文字环绕,可以避免多列布局中的样式问题,
7、CSS3中新增的常用属性,
解答:
(1)边框圆角 border-radius, 边框图片
  (2)  文字阴影,盒阴影,文字溢出省略
     (3)背景图片(多个),背景尺寸剪切,颜色渐变
     (4)2D 与 3D转换, transform ,translate, rotate, scale,skew, rotateX, roteteY
  (5) 过渡 transition , 动画 animation
  (6) 多列布局,弹性盒模型flex
     (7)多媒体查询
8、CSS响应式设计的方法
解答:
(1)设置Viewport,
     <meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;" />
     (2)设置多媒体查询,CSS3 @media 查询,@media 可以针对不同的屏幕尺寸设置不同的样式
     (3)使用CSS 栅格视图,
     (4)设置响应式的图片和视频
     (5)使用响应式设计的样式框架
9、如何在网页中添加一个三角形或指定的其他图形?解决思路有几种?
解答:
(1)利用高度为0的块及元素的边框设置,css设置
     (2)利用HTML转义字符串设置
  (3)  利用:after伪元素设置
     (4)利用字体图标或背景图片设置
前端面试题集锦(二)之CSS部分的更多相关文章
- 前端面试题(HTML、CSS部分)
		
HTML.CSS部分: 一.html5有哪些新特性.移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 新特性: HTML5 现在已经不是 SGML 的 ...
 - 2019届校招前端面试题整理——HTML、CSS篇
		
前言 2019届校招陆陆续续开始了,整理了一些高频的面试题. HTML部分 1. 什么是<!DOCTYPE>? DOCTYPE是html5标准网页声明,且必须声明在HTML文档的第一行.来 ...
 - 前端面试题集锦及答案解析--HTML、 HTTP、web综合问题
		
前端需要注意哪些SEO 合理的title.description.keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超过2次,而且要靠前,不同页面title要有 ...
 - 前端面试题之Html和CSS
		
又到了毕业季,很多小伙伴们都到了找工作的时候了,好多小伙伴问我有前端的面试题么?答:没有. 呃呃… … 小伙伴本宝宝真的没有骗你们,我从毕业到现在一直在一家公司没有换过,所以手里压根没有面试题.我们公 ...
 - Web前端面试题集锦
		
前端开发面试知识点大纲: 注意 转载须保留原文链接(http://www.cnblogs.com/wzhiq896/p/5927180.html )作者:wangwen896 HTML&CSS ...
 - 总结一下前端面试题之Html和CSS
		
总结一下关于前端的面试题,今天我们分享关于Html和CSS部分的 面试 (1) 1. 常用那几种浏览器测试?有哪些内核(Layout Engine)? 2. 说下行内元素和块级元素的区别?行内块元素的 ...
 - 前端面试题集锦(一)之HTML部分
		
前端的发展日新月异,前端开发也早已从原来的切图套页面,变成了现在的非常复杂的技术体系,近期由于找工作,面试了很多家单位,也总结了一部分前端面试中经常会遇到的面试类型,并一一解答.主要分为HTML.CS ...
 - Ajax常见面试题   -- 前端面试题(二)
		
1:什么是ajax?ajax作用是什么? 异步的javascript和xml AJAX 是一种用于创建快速动态网页的技术. ajax用来与后台交互 2:原生js ajax请求有几个步骤?分别是什么 ...
 - 自言自语WEB前端面试题(二)
		
今天换道题,新鲜出炉的 var Model=function(){ this.name='lilei'; this.age=20; } Model.prototype.say=function(){ ...
 
随机推荐
- [最全算法总结]我是如何将递归算法的复杂度优化到O(1)的
			
相信提到斐波那契数列,大家都不陌生,这个是在我们学习 C/C++ 的过程中必然会接触到的一个问题,而作为一个经典的求解模型,我们怎么能少的了去研究这个模型呢?笔者在不断地学习和思考过程中,发现了这类经 ...
 - MYSQL语句强化练习
			
之前发现自己写sql不怎么得心应手,总是百度零零散散的学习一下,所以在空闲的时候自己就专门找一下mysql的强化题敲一下练习一下,简要记录一下,sql写着写着就会越来越熟练,总之要自己加油! 表结构 ...
 - 【带着canvas去流浪(12)】用Three.js制作简易的MARVEL片头动画(上)
			
目录 一. 大作业说明 二.基本思路 三.视频纹理表面修复--UV映射 3.1 问题描述 3.2 纹理贴图的基本原理-UV映射 3.3 关键示例代码 四.小结 示例代码托管在:http://www.g ...
 - 异步编程之Async,Await和ConfigureAwait的关系
			
在.NET Framework 4.5中,async / await关键字已添加到该版本中,简化多线程操作,以使异步编程更易于使用.为了最大化利用资源而不挂起UI,你应该尽可能地尝试使用异步编程.虽然 ...
 - JAVA 使用 POI进行读取Excel表格示例
			
导包 编码 public class PoiTest { /** * 最终效果 * 表头一内容0 表头二内容1 表头三内容2 表头一内容1 表头二内容2 表头三内容3 表头一内容2 表头二内容3 表头 ...
 - fiddle知识点六、如何使用fiddle进行模拟弱网
			
为什么要模拟弱网 随着互联网的快速发展,越来越多的应用核心功能需要网络进行实现.同一应用在2G.3G.4G和WiFi的不停网络下,响应各有不同.但是因为现在的网络普遍为4G网络,为了保证应用在不同的网 ...
 - 【Java中级】(一)面向对象的特性与八种基本类型
			
1.1.Java 基本数据类型: Java提供了8种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. byte.short.int.long.float.double. ...
 - C/C++指针函数和函数指针
			
一.指针函数 当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中. 格式: 类型说明符 * 函数名(参数) 当然了,由于返回的是一个地址,所以类型说明 ...
 - PHP ErrorException 积累
			
ErrorException [不定时更新] ErrorException1: Undefined index: allocate 描述:PHP默认会对未声明变量进行提示,这种默认的提示是可以进行忽略 ...
 - python的乘法口诀表
			
python的乘法口诀表 python的乘法口诀表 用python来写一个脚本,使得这个脚本在运行后自动输出乘法口诀表. pyton的脚本如下: #!/usr/bin/env python #codi ...