css 布局的一般步骤

前提

问问题

任务:不要直接问答案
非任务:最好拿代码来问问题

支持IE 使用浮动布局

注意:

  1. 实在想不到好的标签使用div,
  2. 伪类写法clearfix:after clearfix::after : 兼容ie :: 不兼容ie

不支持IE使用flex布局

视频讲解
必须要会

浮动布局

固定步骤:

  1. 在儿子身上加 float:left 实在不行写float:right
  2. clearfix:after clearfix::after伪类 加到爸爸身上 ::ie不支持 :ie支持
  3. 给儿子调宽高,里面有宽度父级元素最好不要加 宽高最好不要加
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    *{margin:0;padding: 0;}
    ul,ol{list-style:none;}
    .clearfix:after{
      content: '';
      display: block;
      clear: both;
    }
    a{
      color: inherit;
      text-decoration: none;
    }
    .background{
      border: 1px solid green;
      background: black;
      color: white;
    }
    .wrapper{
      width: 1000px;
      margin: 0 auto;
      
    }
    .logo{
      width: 60px;
      height: 60px;
      background: red;
      float: left;
    }
    .menu{
      float: left;
      margin-left: 50px;
    }
    .menu > li{
      float: left;
      width: 110px;
      text-align: center;
      padding: 18px 0;
    }
    .actions{
      float: right;
      text-align: right;
      padding: 18px;
      width: 150px; /*一会删*/
    }
  </style>
</head>
<body>
  <div class="background">
    
    <div class="wrapper clearfix" style="border: 1px solid black;">
      <div class="logo">

      </div>

      <ul class="menu clearfix">
        <li>导航1</li>
        <li>导航2</li>
        <li>导航3</li>
        <li>导航4</li>
        <li>导航5</li>
        <li>导航6</li>
      </ul>

      <div class="actions">
        <a href="#">个人中心</a>
        <a href="#">购物车</a>
      </div>
    </div>
  </div>
</body>
</html>

flex布局

固定步骤:

  1. 在爸爸身上加dispaly:flex
  2. 调整儿子宽度 在能伸缩的儿子使用flex:1
  3. 使用justify-content align-item flex
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    *{margin:0;padding: 0;}
    ul,ol{list-style:none;}
    a{
      color: inherit;
      text-decoration: none;
    }
    .background{
      border: 1px solid green;
      background: black;
      color: white;
    }
    .wrapper{
      width: 1000px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .logo{
      width: 60px;
      height: 60px;
      background: red;
      
    }
    .menu{
      flex: 1;
      margin-left: 50px;
    }
    .menu > li{
      float: left;
      width: 110px;
      text-align: center;
      padding: 18px 0;
    }
    .actions{
      text-align: right;
      padding: 18px;
    }
  </style>
</head>

<body>
  <div class="background">
    
  
    <div class="wrapper clearfix" style="border: 1px solid black;">
      <div class="logo">

      </div>

      <ul class="menu clearfix">
        <li>导航1</li>
        <li>导航2</li>
        <li>导航3</li>
        <li>导航4</li>
        <li>导航5</li>
        <li>导航6</li>
      </ul>

      <div class="actions">
        <a href="#">个人中心</a>
        <a href="#">购物车</a>
      </div>
    </div>
  </div>
  
</body>

</html>

css烂怎么办

烂思维:想到什么写什么

  1. 有个大体框架 分豆腐块
    tab bar bigBanner pro contacts
  2. 命名要精确 (不会命名看同行怎么命名)
  3. 最小影响原则
  4. 嵌套不要超过五层
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,865评论 1 92
  • 是否需要兼容IE8以下?需要则float布局,不需要则flex布局。 标签语义化。如导航栏,无意义的div显然不如...
    madpluto阅读 500评论 0 0
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,229评论 0 11
  • display:设置元素的显示方式 display:block(块级元素) 默认为父元素宽高,可设置宽高相对前序换...
    bluishwhiteC阅读 675评论 0 0
  • 自从加入了好报写作群,每天都要求交一篇500字以上的作业。当初报名的时候心里面想,每天500字,不多呀?很好写呀!...
    827943a9c996阅读 177评论 0 0