在工作用常用的css技巧总结篇

xiaoxiao2021-02-27  325

在工作用常用的css技巧总结篇

css之布局技巧

    1.如何实现水平居中,宽度已知

        .className{             width:400px;             margin-left:auto;             margin-right:auto;         }

    2.宽度已知,高度已知,如何水平垂直居中

        .parent{            position:relative;          }          .child{              position:absolute;              height:400px;              width:400px;              top:50%;              left:50%;              margin-left:-50%;              margin-right:-50%;          }                    flex实现:          .parent{             display:flex;         }         .child{             height:400px;             width:400px;             justify-content:center;             align-items:center;         }

    3.宽度,高度都未知,如何水平,垂直居中【这个在弹出框定位时候会用到】

        .parent{             position:relative;         }         .child{             position:absolute;              top:50%;              left:50%;              tansform:translate(-50%,-50%);         }                  flex实现:         .parent{             display:flex;         }         .child{             justify-content:center;             align-items:center;         }

    4.左列定宽,右列自适应

        .left{             float:left;             width:200px;         }         .right{             margin-left:200px;         }                  flex实现:         .parent{             display:flex;         }         .left{             width:200px;         }         .right{             flex:1;         }

    5.左列不定宽,右侧自适应

        .left{             float:left;         }         .right{             overflow:hidden;         }                  flex实现:         .parent{             display:flex;         }         .right{             flex:1;         }

    6.两侧定宽,中间自适应

    .left{         width:200px;         float:left;     }     .right{         width:200px;         float:right;     }     .middle{         float:left;         width:100%;         margin-right:-400px;     }          通过table实现     .parent{         display:table;         width:100%;         table-layout:fixed     }     .left,.right,.middle{         diaplay:tabel-cell;     }     .left,.right{         width:200px;     }          通过flex实现     .parent{         display:flex;     }     .left,.right{         width:200px;     }     .middle{         flex:1;     }

  7.两侧不定宽,中间自适应

<div class="parent">     <div class="left"></div>     <div class="right"></div>     <div class="middle"></div>   /**注意div的顺序,middle要放在right后**/ </div>   .left{       float:left;   }   .right{       float:right;   }   .middle{       overflow:hidden;   }      flex实现   <div class="parent">     <div class="left"></div>     <div class="middle"></div>     <div class="right"></div> </div>   .parent{       display:flex;   }   .middle{       flex:1;   }

   8.全屏布局

    <div class="parent">          <div class="top">top</div>          <div class="left">left</div>          <div class="right">right</div>          <div class="bottom">bottom</div>      </div>          html,body,parent{         height:100%;         overflow:hidden;     }      .top{         position:absolute:         top:0;         left:0;         right:0;         height:100px;      }       .left{          position:absolute;          top:100px;          left:0;          bottom:50px;          width:200px;      }       .right{          position:absolute;          overflow:auto;          left:200px;          right:0;          top:100px;          bottom:50px;      }       .bottom{          position:absolute;          left:0;          right:0;          bottom:0;          height:50px;      }            flex实现     <div class="parent">          <div class="top">top</div>         <div class="middle">             <div class="left">left</div>              <div class="right">right</div>          </div>          <div class="bottom">bottom</div>      </div>      .parent{          display:flex;          flex-direction:column;      }      .top{          height:100px;      }      .bottom{          height:100px;      }      .middle{          flex:1;          display:flex;      }      .left{          width:100px;      }      .right{          flex:1;      }

 2.css之其它技巧

  1.单行文本如何水平垂直居中

    {         text-align:center;         height:40px;         line-height:40px;     }

  2.多行文本如何垂直居中【已知高度,但是内容未知】

   .parent{        display:table;        height:400px;    }        .child{        display:table-cell;        text-align:center;        vetical-align:middle;    }

 3.如何实现背景透明但是文字不透明

    /**在div框中,包含两个绝对定位的背景框和文字框,背景框设置透明效果即可**/     .parent{         position:relative;         width:100px;         height:100px;     }     .bg{         position:absolute;         top:0;         left:0;         right:0;         bottom:0;         opacity:0.5;     }      .text{         position:absolute;         top:0;         left:0;         right:0;         bottom:0;         text-align:center;         line-height:100px;     }          /**使用rgba**/     .bg{         :background:rgba(0,0,0,0.5);     }

 4.框子四边阴影

    /**模糊的阴影是不占空间的**/     {         box-shadow: 0px 0px 10px rgba(0,0,0,.8);     }          /**文字模糊道理一样**/     {         color: transparent;            text-shadow: 0 0 5px rgba(0,0,0,0.5);     }

 5.表格定宽

/**table-layout:fixed;使用该属性,表格通过列数和每列设定的宽度计算,跟列中的内容无关,超出的可以设置换行或者隐藏**/ {     diaplay:table;     table-layout:fixed; }

 6.如何通过css画三角形,这是一个经典的问题

    

 7.css3中常用的选择器

 

转载请注明原文地址: https://www.6miu.com/read-1800.html

最新回复(0)