美文网首页
CSS基础回顾

CSS基础回顾

作者: 张正yi | 来源:发表于2018-03-14 09:29 被阅读0次

    行内元素:只占据对应标签边框所包含的空间(如span)

    块级元素:占据父元素整个空间。(如div,p)

    块元素,能容纳其他块元素或者内联元素;内联元素,只能容纳文本或其他内联元素;
    块元素:高度,行高以及外边距和内边距都可以控制。宽度默认是它容器的100%,除非设定一个宽度.
    内联元素:高度,行高以及外边距和内边距不可改变。宽度就是它的文字和图片的宽度,不可改变。
    

    块级元素和内联元素之间的转换:

    1)display
    2)float
    3)position:当为行内元素进行定位时,position:absolute,与position:fixed。
        都会使原先的行内元素变为块级元素。
    

    正确理解clear:both:

    1)浮动元素会自动设置成块级元素(相当于display:block,块级元素能设置宽和高,而行内元素则不可以)
    2)浮动元素后边的非浮动元素显示问题。
        浮动元素后边的元素若是非浮动元素且因为定位产生重叠时,行内元素边框、背景和内容都在该浮动元素“之上”显示。
        若是非浮动块级元素,该块级元素边框和背景在浮动元素“之下”显示,只有内容在浮动元素“之上”,不在浮动元素“之下”显示
    
    1.pic.jpg
    如下:div2为浮动元素,跟在后面的一个为行内元素,一个为块级元素。观察效果可发现不同的地方。
            <style>
            .div1 {
                width: 600px;
                height: 500px;
                border: solid 1px blue;
                background-color: yellow;
            }
            .div2 {
                float: left;
                width: 250px;
                height: 250px;
                border: solid 1px Aqua;
                background-color: gray;
                margin: 10px 0 0 10px;
            }
            .div3 {
                background-color: red;
                border: solid 1px green;
                width: 300px;
                height: 150px;
            }
            .span4 {
                background-color: red;
                border: solid 1px green;
                margin: 0 0 0 -50px;
            }
        </style>
    
        <div class="div1">
            <div class="div2">浮动DIV</div>
            <div class="div3">跟在浮动元素后边的DIV</div>
            <span class="span4">跟在浮动元素后边的span</span>
        </div>
    
    3、多个浮动方向一致的元素使用流式排列,此时要注意浮动元素的高度。
    4、子元素全为浮动元素高度自适应问题 
    由于元素浮动后脱离了文档流,所以父元素是无法根据元素来自适应的。解决此问题最常用的办法由两种,第一种就是在所有浮动元素后加: <div style="clear:both;height:0px;"></div> 
      第二就是:
                .clearfix:after{ 
                    visibility: hidden; 
                    display: block; 
                    font-size: 0; 
                    content: "."; 
                    clear: both; 
                    height: 0; 
                } 
    

    补充:clear:both;其实就是利用清除浮动来把外层的div撑开,所以有时候,我们在将内部div都设置成浮动之后,就会发现,外层div的背景没有显示,原因就是外层的div没有撑开,太小,所以能看到的背景仅限于一条线。

    盒模型:内容(content)、填充(padding)、边界(margin)、 边框(border)
    IE的content部分把 border 和 padding计算了进去

    null 与 undefined

    null        表示一个对象是“没有值”的值,也就是值为“空”;
    undefined   表示一个变量声明了没有初始化(赋值);
    
     undefined不是一个有效的JSON,而null是;
     undefined的类型(typeof)是undefined;
     null的类型(typeof)是object;
    

    position

    relative:相对定位,相对于父元素进行偏移,原本的空间也占据着,下面的元素并不会顶替上去。
    absoluate:绝对定位,会脱离文档流,不占有原本空间,后面元素会顶替上去。 
    fixed:固定定位,相对于浏览器窗口
    

    px、em、rem区别介绍

    px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
    em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,
      则相对于浏览器的默认字体尺寸。
    EM特点
    1. em的值并不是固定的;
    2. em会继承父级元素的字体大小。
    注意:任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。
    rem是CSS3新增的一个相对单位(root em,根em)。
    

    css选择器:

    标签选择器,ID选择器,类选择器,群组选择器,后代选择器,通配符选择器
    
        标签选择器 以文档元素作为选择符 a { text-decoration:none }
        群组选择器 多个选择符 td,p,a,div {}
        后代选择器 元素E的任意后代元素F #links a {color:red;}
        通配符选择器 以文档的所有元素作为选择符 *{ font-size:14px;}
    

    CSS3伪类和伪元素:

     常见伪类::focus :hover :active :nth-child()
     常见伪元素:::before ::after ::first-letter ::first-line
    

    CSS中还有,伪类选择器(伪元素),子选择器,临近选择器,属性选择器。

    子选择器(>):

        如:h1 > strong {color:red;} 表示把第一个h1下面的strong元素变成红色字体
    

    临近选择器(+):

        如:h1 + p {margin-top:50px}
        <h1>This is a heading.</h1> 
        <p>This is paragraph.</p> 
        <p>This is paragraph.</p>
        结果:h1和第一个p元素直接的间距为50px,其他不受影响
    

    属性选择器([]):

        比如我们需要将元素中带有属性title的颜色都设为红色可以这么做:*[title] {color:red;} 
        常见的有:
            [abc^="def"]    选择 abc 属性值以 "def" 开头的所有元素
            [abc$="def"]    选择 abc 属性值以 "def" 结尾的所有元素
            [abc*="def"]    选择 abc 属性值中包含子串 "def" 的所有元素     
    

    相关文章

      网友评论

          本文标题:CSS基础回顾

          本文链接:https://www.haomeiwen.com/subject/zpvxqftx.html