云朵

笔记


em:em是相对元素字体大小来计算的,1em=1font-size(16px),em会根据字体大小的改变而改变
rem:rem是相对于根元素字体大小来计算的
RGB:rgb(255,255,255)  
    rgb(100%,100%,100%)
    rgba(255,255,255,.5)  a的值有:1;0.5;0。      1表示完全不透明  0表示完全透明  .5表示半透明
HSL:
    H:色相
    S:饱和度,颜色的浓度 0% - 100%
    L:亮度,颜色的亮度 0% - 100%   hsl(0,50%,50%)
对于元素有两个状态:在文档流中和不在文档流中
元素在文档流中:
             块元素:在页面中独占一行,自上而下垂直排列
                    默认宽度是父元素的全部,会把父元素撑满
                    默认高度是被内容(子元素)撑开
             行内元素:行内元素不会独占一行,只占自身大小
                     在页面中是自左向右排列,如果一行之内不能容下所有行内元素则会换到第二行
                     行内元素的默认高度和宽度都是被内容撑开
要设置边框至少要设置三个样式:
                           边框宽度 border-width  (默认值一般是3px)
                           边框颜色 border-color
                           边框样式 border-style 
border-width:
             四个值:上 右 下 左  (顺时针)
             三个值:上 左右 下
             两个值:上下 左右
             border-color,border-style的各个值同上
border-color:可省略不写,如果省略了则自动使用color的颜色值            
border-style:
             solid 实线
             dotted 圆点虚线
             dashed 方块虚线
             double 双实线
边框简写:  例如 border:10px red solid;
内边距的设置会影响盒子大小
盒子可见框的大小由内容区,内边距和边框大小共同决定,例如创建一个500xp乘以500px的盒子指的是可见框是500px * 500px
一个元素在其父元素中,水平布局必须要满足:
    父元素的内容区宽度=margin-left + border-left + padding-left + width + padding-right + border-right + margin—right
    如果等式不满足则称为过度约束,然后等式会自动调整
    (如果这七个值中没有auto,则浏览器会自动调整margin-right的值使等式成立;有auto就会调整auto)
    如果设置一个宽度和外边距为auto,则宽度会调整到最大;三个值(margin-left,width,margin-right)都设为auto外边距为0,宽度最大
溢出:
    overflow:visible  默认值子元素在父元素中溢出会被显示出来
    overflow:hidden   溢出的内容被隐藏
    overflow:scrool   生成滚动条 通过滚动条来查看完整的内容
    overflow:auto     根据需要生成滚动条
垂直外边距的重叠: 兄弟元素间的相邻垂直外边距:
                          两者都是正值,取两者之间较大值
                          如果一正一负取两者的和
                          都为负值则取两者绝对值较大的
                   兄弟元素的外边距重叠对于开发有益,不需要处理
                父子元素间的相邻外边距:
                          子元素外边距会传递给父元素(上外边距)
                    不利于开发,要处理
行内元素不支持设置高度和宽度,可以设置padding,border,margin,垂直方向不会影响布局,水平方向可以
display:inline            设置为行内元素    
display:block             设置为块元素
display:inline-block      设置为行内块元素即可以设置宽高又不会独占一行 (使用的少)
display:table             设置为表格
display:none              隐藏 元素不在页面中显示 不占位置
diaplay:table-cell        设置为单元格
visibility:visible  默认值 元素在页面中正常显示 
visibility: hidden  隐藏  元素不在页面中显示 占据位置
要让文字在父元素中垂直居中,只需将父元素的line-height设置为和父元素height一样即可
box-sizing:content-box    默认值,宽度和高度用来设置内容区的大小
            border-box    宽度和高度用来设置盒子可见框的大小
outline用来设置元素的轮廓线,用法和border一样,不同点是轮廓不会影响可见框的大小
box-shadow用来设置元素的阴影效果,不会影响页面布局
例如 box-shadow: 20px 10px  20px red;   第一个值代表水平偏移量 正值向右移动 负值向左移动
                                        第二个值代表垂直偏移量 正值向下移动 负值向上移动
                                        第三个值代表阴影的模糊半径  越大越模糊
                                        第四个值代表阴影的颜色
border-radius用来设置圆角 例如 border-top(left right bottom)-diradius:10px 10px     
                                                                       第一个值代表水平半径                                                                                    
                                                                       第二个值代表垂直半径                                                                                     
                                                                       第一个值和第二个值相等时代表的是画圆,不等时是画椭圆
border-radius:10px 10px 10px 10px;   四个值:左上  右上  右下  左下
                                       三个值:左上  右上左下  右下
                                       两个值:左上右下  右上左下
border-radius:50%   代表一个圆
float:none  默认值 不浮动
       left  元素向左浮动
       right 元素向右浮动
       元素设置浮动后会脱离文档流,不再占用文档流的位置,水平布局等式不需要强制成立
       设置浮动后元素会向父元素的左侧或右侧移动,且不会超过他前边的其他浮动元素
       浮动元素默认不会从父元素中溢出
       浮动元素上边若是一个没有浮动的元素,则浮动元素无法上移
       浮动元素不会超过它上边的浮动的兄弟元素,最多和它在同一行
       浮动元素不会盖住文字,可以用来设置文字环绕图片的效果
脱离文档流的特点:   
                块元素:
                       块元素不再独占一行
                       脱离文档流后,块元素的高度和宽度都被内容撑开
                行内元素:
                        块元素脱离文档流后会变成块元素,特点同上
开启BFC该元素会变成一个独立的布局区域,不会被浮动元素覆盖,子元素和父元素外边距不会重叠,开启BFC的元素可以包含浮动元素
开启BFC方式:浮动    float
            将元素设置为行内块元素   display:inline-block
            将元素的overflow设置为一个非visible值   overflow:hidden   常用方式
clear:清除浮动元素对当前元素所产生的影响,原理是设置清除浮动后,浏览器会自动为元素添加一个上外边距
高度塌陷解决方法:在div后面再加一个空的div
                box::after{
                    content:"";
                    display:block;
                    clear:both;
                }                        比较完美的方法!
解决外边距重叠:设置边框,将父元素和子元素的边框隔开
               开启BFC
最完美解决高度塌陷和外边距重叠的方法: 
                                 .clearfix::before,.clearfix::after{
                                                                    content:"";
                                                                    display:table;
                                                                    clear:both;
                                                                    }       
    

@2020 Fzl ,All Rights Reversed.