• 解决ul里最后一个li的margin问题


    在html+css布局里ul>li挺常用的,在群里(WEB前端开发 458732443)总有新手问怎么解决li的最后一个margin值的问题。
    下面介绍一下,大神请不要拍砖。

    先看两个demo,你可以先运行,改变box的宽度看一下。
    1、运用css3的nth-child(3n)

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>demo</title>
        <style>
        *{margin:0;padding:0}
            .box{620px;padding:10px;background:#bbb;border:1px solid #f00;margin:0 auto;}
            .box ul{overflow:hidden;}
            .box ul li{list-style:none;200px;height:100px;background:#fff;float:left;margin-right:10px;margin-bottom:10px;}
            .box ul li:nth-child(3n){margin-right:0;}
          .box ul li:last-child {margin-right:0;}  // 这是设置最后一个
        </style>
    </head>
    <body>
    <div class="box">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li>10</li>
            <li>11</li>
            <li>12</li>
            <li>13</li>
        </ul>
    </div>
    </body>
    </html>
     

    2、运用margin负值 

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>demo</title>
        <style>
        *{margin:0;padding:0}
            .box{620px;padding:10px;background:#bbb;border:1px solid #f00;margin:0 auto;}
            .box ul{overflow:hidden;margin-right:-10px;} // 这里是重点,设置-10,把最后一个的margin-right吃掉
            .box ul li{list-style:none;200px;height:100px;background:#fff;float:left;margin-bottom:10px;margin-right:10px;}
        </style>
    </head>
    <body>
    <div class="box">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li>10</li>
            <li>11</li>
            <li>12</li>
            <li>13</li>
        </ul>
    </div>
    </body>
    </html>

    首先,看看设计的样子,并计算.box的宽度
    解决ul里最后一个li的margin问题
    由于自身带了margin-right被挤下去了
    解决ul里最后一个li的margin问题
    用css3的nth-child(3n)解决办法
    解决ul里最后一个li的margin问题
    现在流行响应式布局,这种css3解决办法,在响应的时候并不靠谱
    解决ul里最后一个li的margin问题
    下面用margin负值解决办法
    解决ul里最后一个li的margin问题
    同理可以用margin-right负值。自己研究
    对于新手,如果不需要考虑古代浏览器和响应式就用css3。反之用margin负值。

    http://www.qdfuns.com/notes/18692/4aaf900b84dcb4ab111ddfd93b87c8ee.html

  • 相关阅读:
    Java常考面试题整理(一)
    TLPI读书笔记第29章:线程介绍
    TLPI读书笔记第57章-SOCKET:UNIX DOMAIN
    TLPI读书笔记第23章:定时器与休眠1
    java中线程安全的集合
    在springboot中使用jdbcTemplate
    springboot设置定时任务(转)
    springboot中使用swagger
    springboot中的@RequestMapping和@GetMapping(转)
    springboot在controller中传递参数
  • 原文地址:https://www.cnblogs.com/microtiger/p/7987120.html
Copyright © 2020-2023  润新知