• Div+Css(一)必备知识


    我只积累我不知道的

    参考链接

    http://www.kwstu.com/ArticleView/divcss_201442291125960

    http://www.kwstu.com/ArticleView/divcss_2013929173533658

    Float: Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能,最直接解释方法就是能实现表格布局的多列功能。

    Float属性有left、right、none三个值,none默认属性不用管,主要是left和right两个属性最常用。

    举例:

    1.float:left属性

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style>
    .kwstu{
        width:300px;
        height:200px;
        background:#09F;
    }
    .kwstu-kid1{
        width:100px;
        height:100px;
        background:#F09;
        float:left;
    }
    .kwstu-kid2{
        width:100px;
        height:100px;
        background:#F9F;
        float:left;
    }
    </style>
    </head>
        <div class="kwstu">
            <div class="kwstu-kid1"></div>
            <div class="kwstu-kid2"></div>
        </div>
    <body>
    </body>
    </html>

    把第二个元素float属性设置成right,中间那个div就滚到右边。

    Margin: Margin属性用于设置两个元素之间的距离。

    Margin属性设置值说明:

    1.单独设置

    margin-left:20px;设置左边

    margin-right:20px;设置右边

    同理上下分别是margin-top:20px;、margin-bottom:20px;

    2.简写设置

    Margin:10px;设置对象四周。

    Margin:10px 5px;设置对象上下为10px,左右为5px;

    举例:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style>
    .kwstu{
        width:300px;
        height:200px;
        background:#09F;
    }
    .kwstu-kid1{
        width:100px;
        height:100px;
        background:#F09;
        float:left;
    }
    .kwstu-kid2{
        width:100px;
        height:100px;
        background:#F9F;
        float:left;
        margin-left:20px;
    }
    </style>
    </head>
        <div class="kwstu">
            <div class="kwstu-kid1"></div>
            <div class="kwstu-kid2"></div>
        </div>
    <body>
    </body>
    </html>

    Padding: Padding属性用于设置一个元素的边框与其内容的距离。

    1.单独设置

    padding-left:20px;设置左边

    padding-right:20px;设置右边

    同理上下分别是padding-top:20px;、padding-bottom:20px;

    2.简写设置

    padding:10px;设置对象四周。

    padding:10px 5px;设置对象上下为10px,左右为5px;

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style>
    .kwstu{
        width:300px;
        height:200px;
        background:#09F;
        padding-left:20px;
        padding-top:10px;
    }
    .kwstu-kid1{
        width:100px;
        height:100px;
        background:#F09;
        float:left;
    }
    .kwstu-kid2{
        width:100px;
        height:100px;
        background:#F9F;
        float:left;
        margin-left:20px;
    }
    </style>
    </head>
        <div class="kwstu">
            <div class="kwstu-kid1"></div>
            <div class="kwstu-kid2"></div>
        </div>
    <body>
    </body>
    </html>

    Clear: Clear属性主要是清楚float属性设置的效果,使用Float属性设置一行有多个DIV后(多列),最好在下一行开始之前使用Clear属性清楚一下浮动,否则上面的布局会影响到下面。

    1、如何在上面的例子中橙色方块的下面另起一行放置一个黑色方块。

    我们直接在html中加入一个div试试

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <style>
    .kwstu{
        width:300px;
        height:200px;
        background:#09F;
    }
    .kwstu-kid1{
        width:100px;
        height:100px;
        background:#F96;
        float:left;
    }
    .kwstu-kid2{
        width:100px;
        height:100px;
        background:#F9F;
        float:left;
        margin-left:20px;
    }
    .kwstu-kid3{
        width:20px;
        height:120px;
        background:#000;
    }
    </style>
    </head>
        <div class="kwstu">
            <div class="kwstu-kid1"></div>
            <div class="kwstu-kid2"></div>
            <div class="kwstu-kid3"></div>
        </div>
    <body>
    </body>
    </html>

    1

    我们看到kwstu-kid3跑到1、2的下面去了,原因就是应为kwstu-kid2使用了float属性,解决方法可以直接在kwstu-kid3里面加入clear属性

    .kwstu-kid3{
        20px;
        height:120px;
        background:#000;
        clear:both;
    }

    2、还有一种布局中常见的问题,此处一定要看。

    我们把最外层kwstu属性的高度去了,看看什么效果

    跟我们想象的不一样吧,我们想象中应该是kwstu层把kid1和kid2包裹住才对,为什么没有达到我们要的效果呢,原因就是应该kid1和kid2使用了float属性,此时可以使用clear属性清楚一下即可。

    一般情况都是在css里面创建一个.clear公共清除浮动类,直接使用一个div调用即可

    先复习一下

    Float:

           Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能,最直接解释方法就是能实现表格布局的多列功能。

    Margin:

           Margin属性用于设置两个元素之间的距离。

    Padding:

           Padding属性用于设置一个元素的边框与其内容的距离。

    Clear:

           使用Float属性设置一行有多个DIV后(多列),最好在下一行开始之前使用Clear属性清楚一下浮动,否则上面的布局会影响到下面。

    实例讲解:下面使用实例如果做一个简单又基本的布局,效果如下图:

    <!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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>DIV+CSS布局教程</title>
    <style type="text/css">
    #Container{
        width:1000px;
        margin:0 auto;/*设置整个容器在浏览器中水平居中*/
        background:#CF3;
    }
    #Header{
        height:80px;
        background:#093;
    }
    #logo{
        padding-left:50px;
        padding-top:20px;
        padding-bottom:50px;
    }
    #Content{
        height:600px;
        /*此处对容器设置了高度,一般不建议对容器设置高度,一般使用overflow:auto;属性设置容器根据内容自适应高度,如果不指定高度或不设置自适应高度,容器将默认为1个字符高度,容器下方的布局元素(footer)设置margin-top:属性将无效*/
        margin-top:20px;/*此处讲解margin的用法,设置content与上面header元素之间的距离*/
        background:#0FF;
         
    }
    #Content-Left{
        height:400px;
        width:200px;
        margin:20px;/*设置元素跟其他元素的距离为20像素*/
        float:left;/*设置浮动,实现多列效果,div+Css布局中很重要的*/
        background:#90C;
    }
    #Content-Main{
        height:400px;
        width:720px;
        margin:20px;/*设置元素跟其他元素的距离为20像素*/
        float:left;/*设置浮动,实现多列效果,div+Css布局中很重要的*/
        background:#90C;
    }
    /*注:Content-Left和Content-Main元素是Content元素的子元素,两个元素使用了float:left;设置成两列,这个两个元素的宽度和这个两个元素设置的padding、margin的和一定不能大于父层Content元素的宽度,否则设置列将失败*/
    #Footer{
        height:40px;
        background:#90C;
        margin-top:20px;
    }
    .Clear{
        clear:both;
    }
    </style>
    </head>
     
    <body>
    <div id="Container">
        <div id="Header">
            <div id="logo">这里设置了padding属性介绍一下padding的用法,padding将设置文本与边框的距离。</div>
        </div>
        <div id="Content">
            <div id="Content-Left">Content-Left</div>
            <div id="Content-Main">Content-Main</div>
        </div>
        <div class="Clear"><!--如何你上面用到float,下面布局开始前最好清除一下。--></div>
        <div id="Footer">Footer</div>
    </div>
    </body>
    </html>

    注解:Container作为整个页面的容器,控制着整个页面在浏览器的位置,此处使用margin:0 auto;控制Container容器在浏览器中水平居中,一般固定宽度的布局都会用到这就代码。

    本文只讲述最基本的布局,在具体开发实践中可能会遇到浏览器兼容性等其他问题,遇到细节问题请自行百度解决,解决的多了经验就积累起来了。

    所属分类: DIV+CSS页面布局

  • 相关阅读:
    容斥原理
    泰勒展开
    初等微积分
    粒子群优化(微粒群算法)
    生成函数
    FFT例题
    图论例题
    线段求交
    期望小小结
    [Violet]天使玩偶/SJY摆棋子
  • 原文地址:https://www.cnblogs.com/mihe/p/4042124.html
Copyright © 2020-2023  润新知