zoukankan      html  css  js  c++  java
  • css圣杯布局的实现方式

    css圣杯布局思路:

    外面一个大div,里面三个小div(都是浮动)。实现左右两栏宽度固定,中间宽度自适应。中间栏优先渲染。  

    css圣杯布局的实现


    在这里,实现了左(200px) 右(220px) 宽度固定,中间自适应,container部分高度保持一致。  html代码中,middle部分首先要放在container的最前部分。然后是left,right

    1.将三者都 float:left , 再加上一个position:relative (因为相对定位后面会用到)

    2.middle部分 100%占满

    3.此时middle占满了,所以要把left拉到最左边,使用margin-left:-100%

    4.这时left拉回来了,但会覆盖middle内容的左端,要把middle内容拉出来,所以在外围container加上 padding:0 220px 0 200px

    5.middle内容拉回来了,但left也跟着过来了,所以要还原,就对left使用相对定位 left:-200px  同理,right也要相对定位还原 right:-220px

    6.到这里大概就自适应好了。如果想container高度保持一致可以给left middle right都加上min-height:130px

    不过衰衰地发现ie中有问题.. ie6/7/8/9中 下面的空白高度都不一样..当然,为了保证窗口不能缩太小无法展示左右,可以给body加上 min-width

    资源网站大全 https://55wd.com 设计导航https://www.wode007.com/favorites/sjdh

    css圣杯布局代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>双飞翼布局</title>
    <style type="text/css">
        *{margin: 0;padding: 0;}
        body{min- 700px;}
        .header,
        .footer{ 
            border: 1px solid #333;
            background: #aaa;
            text-align: center;
        }
        .sub,
        .main,
        .extra{ 
            float: left;
            min-height: 130px;
        }
        .sub{
            margin-left: -100%;
             200px;
            background: red;
        }
        .extra{
            margin-left: -220px;
             220px;
            background: blue;
        }
        .main{ 
             100%;
        }
        .main-inner{ 
            margin-left: 200px;
            margin-right: 220px;
            min-height: 130px;
            background: green;
            word-break: break-all;
        }
        .footer{ 
            clear: both;
        }
    </style>
    </head>
    <body>
    <div class="header">
        <h4>header</h4>
    </div>
        <div class="main">
        <div class="main-inner">
            <h4>main</h4>
            <p>HHHHHHHHHHHHHHHHHHHHHH
            hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
            HHHHHHHHHHHHHHHHHHHHHH
            hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
            </p>
            </div>
        </div> 
        <div class="sub">
        <h4>sub</h4>
            <p>oooooooooooooo
            00000000000000000
            ooooooooooooooo
            ooooooooooooooo
            000000000000000</p>
        </div>
    
          <div class="extra">
        <h4>extra</h4>
            <p>BBBBBBBBBBBBBB
            BBBBBBBBBBBBBBBBBB
            88888888888888888888</p>
        </div>
        <div class="footer">
            <h4>footer</h4>
        </div>
    </body>
    </html>
    

      

  • 相关阅读:
    [BJOI2019] 光线
    C# 从零开始写 SharpDx 应用 笔刷
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    PowerShell 拿到显卡信息
    PowerShell 拿到显卡信息
    win10 uwp 如何使用DataTemplate
    win10 uwp 如何使用DataTemplate
  • 原文地址:https://www.cnblogs.com/ypppt/p/13236532.html
Copyright © 2011-2022 走看看