HTML+CSS1笔记

**CSS:全称层叠样式表(Cascading Style sheets)

 **样式表组成:

        1.由一条条规则组成

        2.规则由选择器+声明块组成

        3.声明块由一条条声明组成

        4.声明由属性+属性值组成的键值对组成

   **浏览器读取选择器渲染规则:浏览器读取选择器的顺序是从右往左渲染的

1.display属性规定元素应该生成的框的类型

    inline属性:将元素变成内联元素显示

    block属性:将内联元素变成块元素显示,独占一行;

    inline-block属性:将内联元素变成行内块元素;

    none属性:隐藏元素,且不占有页面空间

2.visibility:hidden属性隐藏元素,且占有页面空间

3.line-height:设置和块元素高度相等可以使内容垂直居中显示

4.overflow:处理子元素内容大于父元素时的行为

     visible:默认值,不作处理,内容不会被修剪,会呈现在元素框之外;

    hidden:将溢出的部分修剪掉,修剪掉的部分不显示;

    scroll:内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容

    auto:如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容,根据需求添加滚动条,需要哪个方向滚动添加哪个方向

5.内联元素设置宽高无效

6.float: 特点:

                浮动元素会脱离文档流;

                浮动元素不会超过上面没有浮动的块元素(IE6中浮动元素也不会超过内联元素);

                宽度不够时,浮动元素不会超过他上面的兄弟元素,最多一遍齐;

                浮动的元素不会盖住文字,文字会自动环绕在浮动元素的周围;

                内联元素浮动脱离文档流,设置宽高有效

    父元素不设置宽高,使子元素自动填充父元素时,子元素在父元素中设置浮动,造成高度塌陷问题:

        在IE6以上能开启bfc(Block Formatting Context)即可解决

            方法1:给父元素添加voerflow:hidden,是副作用最小的解决方法;

        在IE6及以下不支持bfc,但是有默认属性HasLayout,开启该属性也能解决高度塌陷,IE6中给元素设置宽度也可开启HasLayout

            方法2:给父元素添加zoom:1;(火狐浏览器不支持该属性);

        方法三:同时给父元素添加overflow:hidden和zoom:1,即可兼容所有浏览器;

clear:清除兄弟元素浮动对自身造成的影响

        方法四:添加一个兄弟块元素,并添加clear:both;(w3c推荐使用方式)

  方法四五:解决浮动高度塌陷和垂直外边距重叠最佳方案:使用

         .clearfix:before,

        .clearfix:after{

            /*添加内容,构成兄弟元素*/

            content:"";

            /*变成块元素,撑起父元素高度,table是一个块元素,table可以隔离父子元素,阻止垂直外边距传递*/

            display:table; 

            /*清除浮动*/

            clear:both;

    }

    由于在IE6及以下不支持:after伪类,需要再使用zoom:1;

        .clearfix{

            /*在IE6/7中可以开启hasLayout,缩放1倍,等于不变*/

            zoom:1;

       }

7.position:reletive,相对定位特点:

        只开启相对定位,不设置偏移量,元素位置不会发生变化;

        相对于自身所在位置进行定位,必须设置left和top才能有效;

        不会使元素脱离文档流;

        提升元素层次;


8.position:absolute,绝对定位特点:

        只开启绝对定位,不设置偏移量,元素位置不会发生变化;

        相对于离的最近的开启了定位的祖先元素进行定位,如果父元素都没有开启定位,就相对于浏览器窗口进行绝对定位(一般设置子元素的绝对定位,都会打开父元素的相对定位);

        会使元素脱离文档流;

        提升元素层级;

        会改变元素性质,使内联元素变成块元素,宽高会被内容撑开;

9.position:fixed:固定定位特点

         和绝对定位特点相同,但是固定定位永远只相对于浏览器窗口固定定位,并且滚动页面时固定定位元素不会随页面滚动,一直固定在偏移量窗口位置不动.

10.z-index:提升元素层级特点

        没有开启定位的元素设置z-index属性无效;

        父元素和子元素同时设置z-index,无论父元素的层级比子元素高多少,都不会覆盖子元素;

11.opacity:设置元素透明度,0-1之间的值,0完全透明,1完全不透明

IE8(除IE6)及以下不支持opacity,需要使用filter:alpha(opacity=透明度)代替,透明度值0-100,但是其他浏览器不支持filter:alpha(opacity=透明度),同时设置opacity和filter兼容所有浏览器.

12.background-image:url(图片相对路径);

        如果图片大于元素,则会显示图片左上角部分图片,如果图片小于元素,会循环显示

13.background-repeat:控制图片循环和循环方向如:repeat-y垂直方向循环;

14.background-position:设置背景图片定位,可以是left,right,top,bottom,center中的两个值,也可以设置两个方向的像素值,一般使用负值对整合背景图片移动定位(整合图片一般用在固定宽高元素的背景图片中)

15.background-attachment:设置背景图片是否随屏幕滚动,

         默认值scroll:随屏幕滚动,

         fixed:固定不动,一般都是给body设置该属性,其他元素不设置该属性

16:background:简写属性,可以同时设定背景相关的所有属性,无顺序

17.table表格属性:

        border-spacing: 5px;设置单元格边框间隔距离

        border-collapse: collapse;合并单元格边框

    td属性

     rowspan:2垂直合并单元格;

     clospan:2水平合并单元格;

18.IE6中对png24的支持不是很好,需要使用外部js文件来修复该问题;

        也可以使用ps工具修改png24图片为png8,但是png8图片清晰度不好;

19.CSS-Hack:条件,处理浏览器版本

        注释Hack:

                <--[if lt IE 8]> 

                        需要在小于IE8中生效的代码

                <![endif ]-->

        属相Hack:

                _样式属性:_ 只有在IE6中能够识别

                *样式属性:* 只有在IE7中能够识别

        选择器Hack:* 选择器{

                                需要生效的样式

                            }

20.谷歌浏览器中字体默认为16px,最小只支持到12px,1-11px都显示为12px,当为负值时显示为16px;

21,resize:none 设置文本域输入框(textarea)不能拖动改变大小

22.cursor:设置光标显示样式;

23.IE6的双倍外边距问题:

       当为一个向左浮动的元素设置左外边距或者为一个向右浮动元素设置右外边距时,设置的外边距会显示为设置值的2倍;

    解决办法:设置display:inline(对一个浮动元素设置display:inline变成行内元素没有任何意义,但是可以解决IE6的双倍外边距问题)

24.BFC规则

        (1).内部的Box在垂直方向,一个接一个排列

        (2).BFC的区域不会与float的Box重叠(因此可以实现两列布局)

        (3).内部的Box垂直方向上的距离由margin决定.    属于同一个BFC的两个相邻Box的margin会重叠(解决margin重叠,破坏其中一个条件即可,一般给其中一个包括一层并添加overflow: hidden开启新的BFC)

        (4).计算BFC的高度时,浮动元素也参与计算(清除浮动  hasLayout)

        (5).BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之也如此

25.能开启BFC的情况

        根元素;

        float属性不为none;

        position为absolute或fixed;

        overflow不为visible;

        display为inline-block,table-cell,table-caption,flex,inline-flex;

26.选择器扩展

       >:子元素选择器

        ~: 通用兄弟选择器(必须跟在第一个选择器后面,不一定紧跟,有共同父级)

       +:相邻选择器

        属性选择器: 选择器[属性名]

                            选择器[属性名='属性值']

                            选择器[属性名~='属性值开头'] (属性值是一个以空格分割的属性值列表)

                            选择器[属性名|='val或以val-开头']

                             选择器[属性名^="val"] (以val开头的属性值)

                            选择器[属性名$="val"] (以val结尾的属性值)

                            选择器[属性名*="val"] (匹配到val的属性值)

        链接伪类::target{ },可以代表一个元素,只能代表指向一个id的uri

27:伪元素选择器

        ::after/ ::before/ ::first-letter/ ::first-line/selection

28.声明优先级:

        重要声明(!important)>内联样式>id选择器>类选择器

29.css单位

    1.px:绝对单位,页面按精确像素展示

    2.em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。

    3.rem:相对单位,可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持。

30.div设置高度为百分比时,字体垂直居中:

            display:flex;

            justify-content:center;

            align-items:center;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,309评论 2 66
  • CSS格式化排版 文字排版--字体 我们可以使用css样式为网页中的文字设置字体、字号、颜色等样式属性,如下: 不...
    wq04200阅读 384评论 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,466评论 1 45
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,438评论 5 15