CSS令人迷惑的知识点

CSS中link@import的区别是?

'' (1) link属于HTML标签,而@import是CSS提供的;
''
'' (2) 页面被加载的时,link会同时被加载,而@import被引用的CSS会等到引用它的CSS文件被加载完再加载;
''
'' (3) import只在IE5以上才能识别,而link是HTML标签,无兼容问题;
''
'' (4) link方式的样式的权重 高于@import的权重.

position:absolutefloat属性的异同

  • 共同点:对内联元素设置floatabsolute属性,可以让元素脱离文档流,并且可以设置其宽高。
  • 不同点:float仍会占据位置,absolute会覆盖文档流中的其他元素。

介绍一下box-sizing属性?

box-sizing属性主要用来控制元素的盒模型的解析模式。默认值是content-box

  • content-box:让元素维持W3C的标准盒模型。元素的宽度/高度由border + padding + content的宽度/高度决定,设置width/height属性指的是content部分的宽/高

  • border-box:让元素维持IE传统盒模型(IE6以下版本和IE6~7的怪异模式)。设置width/height属性指的是border + padding + content

标准浏览器下,按照W3C规范对盒模型解析,一旦修改了元素的边框或内距,就会影响元素的盒子尺寸,就不得不重新计算元素的盒子尺寸,从而影响整个页面的布局。

CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?

'' 1.id选择器( # myid)
'' 
'' 2.类选择器(.myclassname)
'' 
'' 3.标签选择器(div, h1, p)
'' 
'' 4.相邻选择器(h1 + p)
'' 
'' 5.子选择器(ul > li)
'' 
'' 6.后代选择器(li a)
'' 
'' 7.通配符选择器( * )
'' 
'' 8.属性选择器(a[rel = "external"])
'' 
'' 9.伪类选择器(a: hover, li:nth-child)

优先级为:

!important > id > class > tag

important 比 内联优先级高,但内联比 id 要高

CSS3新增伪类举例:

'' p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。
'' 
'' p:last-of-type  选择属于其父元素的最后 <p> 元素的每个 <p> 元素。
'' 
'' p:only-of-type  选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。
'' 
'' p:only-child    选择属于其父元素的唯一子元素的每个 <p> 元素。
'' 
'' p:nth-child(2)  选择属于其父元素的第二个子元素的每个 <p> 元素。
'' 
'' :enabled  :disabled 控制表单控件的禁用状态。
'' 
'' :checked        单选框或复选框被选中。

CSS3有哪些新特性?

'' CSS3实现圆角(border-radius),阴影(box-shadow),
''
'' 对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
''
'' transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋转,缩放,定位,倾斜
''
'' 增加了更多的CSS选择器 多背景 rgba
''
'' 在CSS3中唯一引入的伪元素是::selection.
''
'' 媒体查询,多栏布局
''
'' border-image

CSS3中新增了一种盒模型计算方式:box-sizing。盒模型默认的值是content-box, 新增的值是padding-boxborder-box,几种盒模型计算元素宽高的区别如下:

content-box(默认)

布局所占宽度Width:

Width = width + padding-left + padding-right + border-left + border-right

布局所占高度Height:

Height = height + padding-top + padding-bottom + border-top + border-bottom

padding-box

布局所占宽度Width:

Width = width(包含padding-left + padding-right) + border-top + border-bottom

布局所占高度Height:

Height = height(包含padding-top + padding-bottom) + border-top + border-bottom

border-box

布局所占宽度Width:

Width = width(包含padding-left + padding-right + border-left + border-right)

布局所占高度Height:

Height = height(包含padding-top + padding-bottom + border-top + border-bottom)

对BFC规范的理解?

'' BFC,块级格式化上下文,一个创建了新的BFC的盒子是独立布局的,盒子里面的子元素的样式不会影响到外面的元素。在同一个BFC中的两个毗邻的块级盒在垂直方向(和布局方向有关系)的margin会发生折叠。
''
'' (W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行布局,以及与其他元素的关系和相互作用。

说说你对语义化的理解?

'' 1,去掉或者丢失样式的时候能够让页面呈现出清晰的结构
''
'' 2,有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
''
'' 3,方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
''
'' 4,便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

1)、<!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器以何种模式来渲染文档。

2)、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。

3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。

4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

你知道多少种Doctype文档类型?

'' 该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
''
'' HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
''
'' XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。
''
'' Standards (标准)模式(也就是严格呈现模式)用于呈现遵循最新标准的网页,而 Quirks
''
'' (包容)模式(也就是松散呈现模式或者兼容模式)用于呈现为传统浏览器而设计的网页。

HTML与XHTML——二者有什么区别

'' 区别:
''
'' 1.所有的标记都必须要有一个相应的结束标记
''
'' 2.所有标签的元素和属性的名字都必须使用小写
''
'' 3.所有的XML标记都必须合理嵌套
''
'' 4.所有的属性必须用引号""括起来
''
'' 5.把所有<和&特殊符号用编码表示
''
'' 6.给所有属性赋一个值
''
'' 7.不要在注释内容中使“--”
''
'' 8.图片必须有说明文字

常见兼容性问题?

'' png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8.也可以引用一段脚本处理.
''
'' 浏览器默认的margin和padding不同。解决方案是加一个全局的{margin:0;padding:0;}来统一。
''
'' IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。
''
'' 浮动ie产生的双倍距离(IE6双边距问题:在IE6下,如果对元素设置了浮动,同时又设置了margin-left或margin-right,margin值会加倍。)
''
'' #box{ float:left; width:10px; margin:0 0 0 100px;}
''
'' 这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入
'' display:inline;将其转化为行内属性。(这个符号只有ie6会识别)
''
'' 渐进识别的方式,从总体中逐渐排除局部。
''
''
'' 首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。
''
'' 接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。
''
'' css
''
'' .bb{
''
'' background-color:#f1ee18;/
所有识别/
''
'' .background-color:#00deff\9; /
IE6、7、8识别/
''
'' +background-color:#a200ff;/
IE6、7识别/
''
'' _background-color:#1e0bd1;/
IE6识别*/
''
'' }
''
''
'' 怪异模式问题:漏写DTD声明,Firefox仍然会按照标准模式来解析网页,但在IE中会触发
'' 怪异模式。为避免怪异模式给我们带来不必要的麻烦,最好养成书写DTD声明的好习惯。现在
'' 可以使用html5推荐的写法:<doctype html>

上下margin重合问题

'' ie和ff都存在,相邻的两个div的margin-left和margin-right不会重合,但是margin-top和margin-bottom却会发生重合。
''
'' 解决方法,养成良好的代码编写习惯,同时采用margin-top或者同时采用margin-bottom。

解释下浮动和它的工作原理?清除浮动的技巧

'' 浮动元素脱离文档流,不占据空间。浮动元素碰到包含它的边框或者浮动元素的边框停留。
''
''
'' 1.使用空标签清除浮动。
''
'' 这种方法是在所有浮动标签后面添加一个空标签 定义css clear:both. 弊端就是增加了无意义标签。
''
'' 2.使用overflow。
''
'' 给包含浮动元素的父标签添加css属性 overflow:auto; zoom:1; zoom:1用于兼容IE6。
''
'' 3.使用after伪对象清除浮动。
''
'' 该方法只适用于非IE浏览器。具体写法可参照以下示例。使用中需注意以下几点。一、该方法中必须为需要清除浮动元素的伪对象中设置 height:0,否则该元素会比实际高出若干像素;

浮动元素引起的问题和解决办法?

'' 浮动元素引起的问题:
''
'' (1)父元素的高度无法被撑开,影响与父元素同级的元素
''
'' (2)与浮动元素同级的非浮动元素(内联元素)会跟随其后
''
'' (3)若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构

解决方法:

使用CSS中的clear:both;属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix样式:

'' .clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
'' 
'' .clearfix{display: inline-block;} /* for IE/Mac */

清除浮动的几种方法:

'' 1,额外标签法,<div style="clear:both;"></div>(缺点:不过这个办法会增加额外的标签使HTML结构看起来不够简洁。)
'' 
'' 2,使用after伪类
'' 
'' #parent:after{
'' 
''     content:".";
'' 
''     height:0;
'' 
''     visibility:hidden;
'' 
''     display:block;
'' 
''     clear:both;
'' 
''     }
'' 
'' 
'' 3,浮动外部元素
'' 
'' 4,设置overflow为hidden或者auto
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,264评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,549评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,389评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,616评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,461评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,351评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,776评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,414评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,722评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,760评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,537评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,381评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,787评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,030评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,304评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,734评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,943评论 2 336

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,709评论 1 92
  • 1.行内元素和块级元素?img算什么?行内元素怎么转化为块级元素? 行内元素:和有他元素都在一行上,高度、行高及外...
    极乐君阅读 2,382评论 0 20
  • 我与你,手拉着手 不知不觉,走了好久 越过亲密,走向琐碎 路上的风景,逐渐熟透 生活是粗粝的石头 你我的汗水,浸湿...
    作家明至阅读 181评论 0 2
  • 如果你说喜欢我只是为了跟我上床,那请你离开,我不需要。 前几天在朋友圈看到好友发消息说他告别了单身,还附上他跟他女...
    七夕爱可乐阅读 779评论 8 2
  • 图片来自网络 文|一个琳 最近阴雨绵绵,夜里十点的小县城不像往常那般喧哗,路边少了很多小吃摊,行人自然也有所减少。...
    一个琳_阅读 284评论 21 14