css关于边框重合问题

为什么我设置margin-left -1边框还是重叠,第二个小li和第三个小li还是重合


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        ul li {
            float: left;
            list-style: none;
            width: 100px;
            height: 100px;
            border: 1px solid red;
            margin-left: -1px;
        }
    </style>
</head>
<body>
   <ul>
       <li></li>
       <li></li>
       <li></li>
       <li></li>
   </ul>
</body>
</html>

img

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      ul li {
        float: left;
        list-style: none;
        width: 100px;
        height: 100px;
        border: 1px solid red;
        /* margin-left: -1px; */
        border-left-width: 0px;
      }
      ul li:first-child {
        border-left-width: 1px;
      }
    </style>
  </head>
  <body>
    <ul>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
  </body>
</html>

你这样写是没问题的,是不是没清除内外边距

*{margin:0;padding:0}

//一般如果是这种并排的小方块我喜欢这么写
ul li {
            float: left;
            list-style: none;
            width: 100px;
            height: 100px;
            border-left: 1px solid red;
            border-top: 1px solid red;
            border-bottom: 1px solid red;
        }
ul li:last-child{
border-right: 1px solid red;
}

img


参考一下这个代码,margin-left只是盒子外边距偏移不是border覆盖不覆盖的问题,希望能帮助到你