博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
笔记:面试 - css
阅读量:5870 次
发布时间:2019-06-19

本文共 5877 字,大约阅读时间需要 19 分钟。

  • CSS相关

    在这里分享本人面试遇到的一些问题与解决方案,将会持续更新

  • 水平垂直居中 日期: 9/17

    如何在一个div中垂直居中

    
复制代码
1.flex  *{      margin: 0;      padding: 0;    }    .father {      display: flex;      align-items: center;      justify-content: center;      height: 500px;      background-color: cadetblue;    }    .son {      width: 50px;      height: 50px;      background-color: aqua;    }    2.absolute    *{      margin: 0;      padding: 0;    }    .father {      position: relative;      height: 500px;      background-color: cadetblue;    }    .son {      position: absolute;      top: 50%;      left: 50%;      transform: translate(-50%, -50%);      width: 50px;      height: 50px;      background-color: aqua;    }    3.fixed-height            *{      margin: 0;      padding: 0;    }    .father {      position: relative;      height: 500px;      background-color: cadetblue;    }    .son {      position: absolute;      width: 50px;      height: 50px;      top: 50%;      left: 50%;      margin-top: -25px;      margin-left: -25px;      background-color: aqua;    }    4.table-cell    /*        需要三个div,        外层为display: table;        father为display: table-cell;        son为display: inline-block;    */    html{      width: 100%;      height: 100%;      margin: 0;      padding: 0;    }    body {      display: table;      width: 100%;      height: 100%;    }    .father {      display: table-cell;      background-color: cadetblue;      text-align: center;      vertical-align: middle;    }    .son {      width: 50px;      height: 50px;      display: inline-block;      background-color: aqua;    }复制代码
  • 拓展

    • 水平居中
    1.flex    * {      margin: 0;      padding: 0;    }    .father {      display: flex;      justify-content: center;      height: 500px;      background-color: cadetblue;    }    .son {      height: 50px;      width: 50px;      background-color: aqua;    }    2.absolute    * {      margin: 0;      padding: 0;    }    .father {      height: 500px;      position: relative;      background-color: cadetblue;    }    .son {      position: absolute;      height: 50px;      width: 50px;      left: 50%;      /* margin-left: -25px; */      transform: translateX(-50%);      background-color: aqua;    }    3.margin    * {      margin: 0;      padding: 0;    }    .father {      height: 500px;      background-color: cadetblue;    }    .son {      height: 50px;      width: 50px;      margin: 0 auto;      background-color: aqua;    }    ```    - 垂直居中    ```css    1.flex    * {      margin: 0;      padding: 0;    }    .father {      display: flex;      align-items: center;      height: 500px;      background-color: cadetblue;    }    .son {      height: 50px;      width: 50px;      background-color: aqua;    }        2.absolute    * {      margin: 0;      padding: 0;    }    .father {      height: 500px;      position: relative;      background-color: cadetblue;    }    .son {      position: absolute;      height: 50px;      width: 50px;      left: 50%;      /* margin-left: -25px; */      transform: translateX(-50%);      background-color: aqua;    }        3.line-height    * {      margin: 0;      padding: 0;    }    .father {      height: 500px;      line-height: 500px;      background-color: cadetblue;    }    .son {      display: inline-block;      height: 50px;      width: 50px;      background-color: aqua;    }复制代码
    • left、middle、right布局

    两边固宽、中间自适应

    复制代码
    两边固定,中间自适应
    1.flex*{  margin: 0;  padding: 0;}.wrapper {  display: flex;  height: 500px;}.left {  width: 100px;  background-color: lightgrey;}.middle {  flex: 1;  background-color: lightcyan;}.right {  width: 100px;  background-color: lightgrey;}2.float*{  margin: 0;  padding: 0;}.wrapper {  height: 500px;}.left {  width: 100px;  height: 100%;  float: left;  background-color: lightgrey;}.middle {  float: left;  width: calc(100% - 200px);  height: 100%;  background-color: lightcyan;}.right {  float: left;  height: 100%;  width: 100px;  float: right;  background-color: lightgrey;}复制代码
    • 拓展

    在做这个的时候搜到了圣杯+双飞翼布局

    双飞翼杯布局
    header
    main
    footer
    复制代码
    * {  margin: 0;  padding: 0;}header,footer {   height: 50px;  background-color: beige;}.wrapper {   position: relative;}.main {   height: 200px;   margin:0 100px;  background-color: aqua;}.left, .right{   width: 100px;   height: 200px;   position: absolute;   top: 0;  background-color: lightgray;}.left{ left: 0;}.right{ right: 0;}复制代码
    圣杯布局
    圣杯布局
    main
    footer
    复制代码
    * {  padding: 0;  margin: 0;}body {  min-width: 600px;}header, footer {  text-align: center;  width: 100%;  background-color: #bbbbbb;}.wrapper {  overflow: hidden;  padding: 0 200px 0 200px;}.main {  float: left;  width: 100%;  height: 200px;  background-color: #ddd;}.left {  /* opacity: 0.5; */  float: left;  width: 200px;  height: 200px;  background-color: #da4242;  /* 产生布局效果的属性 */  margin-left: -100%;  position: relative;  left: -200px;}.right {  /* opacity: 0.5; */  float: left;  width: 200px;  height: 200px;  background-color: #4ddef1;  /* 产生布局效果的属性 */  margin-left: -200px;  position: relative;  left: 200px;}复制代码

    圣杯的弊端

    • 如果将浏览器无限变窄,「圣杯」将会「破碎」掉

      当 main 部分的宽小于 left 部分时就会发生布局混乱

      • 加min-width可以解决
  • 固定 footer布局

    内容不足时固定在页面底部、页面超出时在页面底部

header
main content
footer
复制代码
html,body{      height:100%;      margin:0;      padding:0;    }    .container{      min-height:100%;      margin-bottom:-100px;    }    .empty,footer{      height:100px;    }复制代码

利用empty-div将footer推到页面的最底部

本人把所有代码都写成了demo放在了git上,有兴趣的可以

转载于:https://juejin.im/post/5b9f47af5188255c42581aa7

你可能感兴趣的文章
机器学习之KNN---k最近邻算法-机器学习
查看>>
sqlserver低版本生成插入脚本
查看>>
i2c sub system __i2c_board_list/klist_devices/klist_drivers
查看>>
项目案例--实时更新
查看>>
py3和py2的差别(补充)
查看>>
Sicily/1276. Who needs 8 Queens w[Special judge]
查看>>
mysql 开发进阶篇系列 25 数据库RPM安装目录介绍
查看>>
maven只编译某个module
查看>>
mongodb
查看>>
JQuery 选择器(2)[转]
查看>>
数据结构1_绪论
查看>>
vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件
查看>>
Java中的File类
查看>>
oracle 简单备注
查看>>
usaco Crazy Fences
查看>>
SQL 2008官方下载地址
查看>>
在centos7上作用mongodb
查看>>
SQLI DUMB SERIES-1
查看>>
互联网开放平台应用综述
查看>>
【批处理】时间处理
查看>>