css:the definitive guide

规范

  • HTML规范指定,块级元素不可以嵌套在行内元素中,而CSS没有这种限制,可以通过display来改变两个元素的显示角色,这完全是合法的。

整理

css 和 hmtl 结合的方法

  • link 标签
  • @import指令(没有link好,不要用)
  • 在head里面加上style元素
  • 内联样式(HTML的style属性)

伪类顺序

link - visited - focus - hover -active
link visited称为静态伪类,hover,focus,active为动态伪类,可以应用到任何元素

伪类和伪元素

所有伪元素必须放在出现该伪元素的选择器的最后面

特殊性 继承 层叠

  • 特殊性 内联样式1000、 id100、 类,属性选择器,伪类10 、元素,伪元素1、结合符(,[分组], 空格 [后代选择器],+[相邻兄弟选择器],>[子代选择器]),通配符特殊性为0
  • 不是所有的样式都可以继承,继承的样式没有特殊性
  • 层叠规则 !important 《 特殊性 《 顺序(import 》 link 》 style)

web 安全颜色

指在256色计算机系统上总能避免抖动的颜色 0 3 6 9 C F

长度单位

三个相对长度单位 em ex px

  • em 指 em-height 等于font-size的大小
  • ex 指 x-height 时字体中小写x的高度(大多数字体没有内置ex高度值)

字体

font-face指特定的字体风格,font-family是一个字体体系,通过字体系列,font属性(字体的简写属性)
字体的样式(系列【family】,加粗【weight】,变形【varient】)都是通过匹配字体完成的

文本属性

  • line-height 应用于任何元素(理解什么是行内框,什么是内容框【em框】,行框,行间距,基线,缩放因子【1.5】)
  • vertical-height top,bottom相对于行内框,text-top,text-bottom相对于em框
  • word-spacing【字间距】, letter-spacing【字母间距】,white-space【处理字之间和文本行的空白方式,如nowrap,单行显示】

基本视觉格式化

  • 水平格式化
    当margin-left,width,margin-right都被设置为固定的值的时候,这些格式化属性过分受限(overcontrained),会把margin-right强制为auto,然后根据auto的规则来计算对应的值
  • 垂直格式化
    • 在正常流中一个块元素的margin-top或margin-bottom设置为auto,它会自动计算为0
    • 垂直相邻外边距合并,这种合并行为只应用于外边距,如果元素有内边距和边框,它们绝不会合并(在包含块上设置边框和内边距时,会使其子元素的外边距包含在包含块内)
  • 行布局
    • 概念(匿名文本,em框字符框,内容区,行间距,行内框 line-height,行框)
    • 行内框的高度由内联元素的line-height决定,当行中出现替换元素,替换元素可以增加行内框的高度,当不改变line-height的值,替换元素的vertical-align会影响该行的行内框高度
    • 内联元素的垂直padding,margin改变不了内容区的具体形状,而是影响了行内框的高度,而不影响行高,替换元素的内边距,边框,外边距会增加其行内框

浮动

  • 包裹性
  • 脱离文档流
  • 浮动元素周围的外边距不会合并
  • 生产一个块级框
  • 浮动元素会延伸,从而包含其所有后代浮动元素
  • clear 用法

绝对定位元素

  • 概念 静态位置
  • 元素的绝对定位为其后代元素建立了一个包含块
  • 放置和大小 由TRBL,margin,width决定
    • 当绝对定位元素的大小在水平方向上过度受限,会忽略right值
    • 当绝对定位元素的大小在垂直方向上过度受限,会忽略bottom值

(文中提到,只有top可取静态位置,bottom不可以。不懂)

相对定位

如果相对定位过度受限,一个值会重置为另一个值的相反数。如top:10px,bottom:30px;bottom会被重置为-10px;

  • 匿名的表对象会采取对象插入
  • 边框合并规则 border-style:hidden < border-width < border-style:double solid dashed dotted ridge outset groover inset < color :cell row row-group column column-group table < border-style:none;
  • 表大小 fixed 可以更快计算出表的大小

生成内容

  • 如果:before或:after选择器的主体是块级元素,则display属性只接受值none,inline,block,marker。其他值都处理为block
  • 如果:befor或:after选择器的主体是一个行内元素,则display属性只接受值none和inline。所有其他都处理为inline

用户界面样式

  • outline 轮廓不像边框那样参与到文档流中,因此轮廓出现或消失时,不会影响文档流,即不会导致文档的重新显示

注意

  • text-align应用于块级元素,影响一个元素中的文本行相互之间的对齐方式,无法实现将行内元素中的锚居中对齐,而不影响行内的其他元素
  • 一般的,一个元素的子元素绘继承该元素的计算值,像line-height可以继承缩放因子
  • 水平外边距不会合并
  • 元素的7项水平属性的总格不能比其包含块更宽。
  • em长度单位与font-size有关系,浏览器默认的font-size为16px,当设定height为6em时,计算值为96px;
  • 图像也是行内元素,但图像也是替换元素
  • magin padding 的百分数都是相对于包含块的width去计算的
  • 边框的颜色默认是字体的颜色
  • 设定背景图像的同时最好设置一个背景颜色
  • visibility:hidden (元素还是会影响文档的布局,就好像它还可见一样)
    display:none(元素不仅仅不显示,还会从文档中删除)

quesition

  • 支持hove属性的用户待敌在锚处于悬停状态时必须重绘文档,这就是要求重新显示该链接之后的所有内容。不过,CSS规范指出,文档第一次显示之后,用户代理不必重绘文档,所以你不能完全依赖预想的效果。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,725评论 1 92
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,023评论 0 1
  • 基本框 CSS假定每个元素都会生成一个或多个矩形框,这称为元素框。各元素框中心有一个内容区(content are...
    exialym阅读 741评论 0 2
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,803评论 0 6
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 1,979评论 1 4