用三层盒子结构实现多边框

本文转载于:猿2048网站https://www.mk2048.com/blog/blog.php?id=kh1jj2j&title=%E7%94%A8%E4%B8%89%E5%B1%82%E7%9B%92%E5%AD%90%E7%BB%93%E6%9E%84%E5%AE%9E%E7%8E%B0%E5%A4%9A%E8%BE%B9%E6%A1%86php

  如图为jd的广告页面html

  若是想给每一个盒子加上美观的border,实现以下效果浏览器

  若是给每一个li加border的话盒子就会被撑开,则依照浮动特性一行就容纳不下4个li,li会自动掉下来。这时,能够给ul一个宽度,li就不会掉下来,以下图所示ide

  这时,恰好ul会比外面的盒子高几像素和几及像素(若是不清除浮动ul的高度是0),这时再给最外面的盒子overflow-hidden就能达到目的。如图所示网站

  把最外面盒子的border去掉就能获得想要的效果了。spa

 

 

   代码以下3d

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>消除多个边缘的margin</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        li{
            list-style: none;
        }
        .box{
            height: 300px;
            width: 400px;
            margin: 40px auto;
            overflow:hidden;
            /*溢出的边界消除*/
/*            border:1px solid #000;*/
        }
        ul{
            width: 500px;
            overflow: hidden;/*触发bfc就能够在浏览器看到ul*/
        }
        li{
            width: 100px;
            height: 100px;
            float: left;
            border-bottom:1px solid #ccc;
            border-right: 1px solid #ccc;
        }
        /*使用三层盒子模型作出效果
        box给overflow:hideen消除右边和下面的总边距
        ul拿来撑开以便一行能容纳4个li
        li拿来给border
        */
    </style>
</head>
<body>
    <div class="box">
        <ul>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
</body>
</html>

 

本文转载于:猿2048⇛https://www.mk2048.com/blog/blog.php?id=kh1jj2j&title=%E7%94%A8%E4%B8%89%E5%B1%82%E7%9B%92%E5%AD%90%E7%BB%93%E6%9E%84%E5%AE%9E%E7%8E%B0%E5%A4%9A%E8%BE%B9%E6%A1%86code

相关文章
相关标签/搜索