CSS学习笔记

作者: 不明suoyi | 来源:发表于2019-07-02 23:16 被阅读0次

    CSS(Cascading Style Sheets )

    层叠样式表,用来描述HTML或XML文档的呈现。CSS1现已废弃,CSS2.1为推荐标准,CSS3正在标准化中。

    CSS的四种引入方式:

    1. 内联、即在HTML文本中添加style属性;
      <body><div style="color: red; font-size: 1px;"></div></body>
    2. style标签;
      <head><style type="text/css"><div>border: 1px solid red;</div</stytle></head>
    3. 外部文件引入;
      <link rel="stylesheet" href="./a.css">
    4. @import url (a.css);
      @import url list-of-media-queries;

    CSS实现左右/左中右布局:

    可以给所有子元素添加 float: left; 同时给父元素添加class="clearfix"来解决浮动出现的bug。
    html:

        <div class="father clearfix">
        <div class="child">元素1</div>
        <div class="child">元素2</div>
        <div class="child">元素3</div></div>
    

    css:

     .clearfix::after{
                content: "";
                display: block;
                clear: both;
      }
     .child {
                float: left;
      }
    

    除此方法外,还可以:
    设置每个块级元素的display属性为inline-block;同时设置vertical-align: top;来解决出现的bug。然后给父元素添加text-align: center; 从而实现块状元素水平居中。

    水平居中:

    1. 内联元素居中:
      将内联元素外部的块级元素的text-align 设置为center,即可实现内联元素室的水平居中。设置行高line-height控制内联元素所占的高度。

    html:

    <div class="father">
    <span class="child">水平居中</span></div>
    

    css:

    div.father{
    text-align: center;
    border:1px solid red;
    }
    span.child{
    line-height:  20px;
    }
    

    内联元素:

    b, big, i, small, tt
    abbr, acronym, cite, code, dfn, em, kbd,
    strong, samp, var
    a, bdo, br, img, map, object, q, script,
    span, sub, sup
    button, input, label, select, textarea

    1. 块级元素水平居中:
      将固定高度的块级元素的margin-left和margin-right 设置为auto;即可。

    html:

    <div class="father">
    <div class="child">水平居中</div></div>
    

    css:

    text-align: center;
    border: 1px solid red;
    height: 20px;
    }
    div.child{
    border: 1px solid green;
    height:10px;
    width: 60px;
    margin: 0 auto;
    }
    

    3.多个块级元素水平居中:
    将每个块级元素的display设置为inline-block,然后将父容器的text-align设置为center;
    html:

    <div class="ch1"></div>
    <div class="ch2"></div></div>
    

    css:

    div.fa{
    text-align: center;
    border: 1px solid red;
    height: 30px;
    }
    div.ch1,
    div.ch2{
    display: inline-block;
    }
    

    垂直居中

    1. 内联元素垂直居中:
      设置行高line-height 与父元素的高度height相等,且内联元素的字体大小远小于行高。
      html:
    <div class="father">
       <span class="child">xxx</span></div>
    

    css:

    .father{
     border: 1px solid red;
    height: 80px;
    }
    .child{
    line-height: 80px;
    }
    
    1. 块级元素垂直居中:
      *固定高度的块级元素:
      通过绝对定位元素距离顶部50%,并设置margin-top向上移元素高度的一半。
      html:
    <div class="father">
    <span class="child">固定高度垂直居中</span>
    </div>
    

    css:

    .father {
      border: 1px solid red;
      position: relative;
      height: 100px;
    }      
    .child {
      position: absolute;
      top: 50%;
      height:40px;
      border: 1px solid green;
      margin-top: -20px;
    }
    

    块级元素的高度由其内部文档流元素的高度总和决定
    文档流:文档内元素的流动方向
    内联元素:从左往右流动,宽度不够另起一行
    块级元素:每块占一行,从上往下流
    可使用word-break对需要断行的字断行
    内联元素的高度很难决定,一般用line-height 固定一个值
    脱离文档流相对屏幕定位: position:fixed;
    脱离文档流:position:absolut;相对于祖先中的第一个 position: relative; 定位。
    让背景图片居中:background-position: center center;
    背景图按比例缩放: background-size: cover;
    css画各种形状的图形:" css tricks shapes" <kbd>enter</kbd>
    css渐变实现: 搜索 “css渐变”
    css动画、阴影
    方边框变圆边框: border-radius; 50%;
    边框没有把元素包住: display: inline-block;
    css中position的取值:static relative absolute fixed sticky
    字体默认的行高由字体设计师决定
    content-box 与 border-box的区别是:
    content-box的width 不包括padding和border
    border-box的width 包括padding和 border
    给display :inline 元素设置宽高是无效的,设置margin-top 、margin-bottom也无效
    :xxx 伪类 :nth-child(odd/even)
    :: xxx 伪元素 ::before / :: after

    相关文章

      网友评论

        本文标题:CSS学习笔记

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