CSS (三)display:inline-block的缝隙和错位问题

display:inline-block的缝隙和错位问题

一、 缝隙问题

这里写图片描述

<style type="text/css">
   *{
     border: 0;
     padding: 0;
     margin: 0;
   }
   ul li{
     display: inline-block;
     border: 1px solid #000000;
   }
</style>
<body>
    <ul>
      <li>1111</li>
      <li>2222</li>
      <li>3333</li>
      <li>4444</li>
      <li>5555</li>
    </ul>
  </body>

这每个li之间的间隙是符合W3C标准规范的表现,是元素书写的时候换行产生的空白符造成的问题。但不满足业务需求。完善这种的缝隙有如下几种方法:

一、书写的时候,省略空格

这里写图片描述

 <body>
    <ul>
      <li>1111</li><li>2222</li><li>3333</li><li>4444</li><li>5555</li>
    </ul>
  </body>
二、第一种方法,元素少的情况下还可以满足,但不符合实际业务开发。第二种方法就是设置父元素的font-size:0px,然后再设置各个子元素的font-size数值。
ul{
font-size: 0;
}
ul li{
  display: inline-block;
  border: 1px solid #000000;
  font-size: 14px;
}
 <body>
    <ul>
        <li>1111</li>
         <li>2222</li>
         <li>3333</li>
         <li>4444</li>
         <li>5555</li>
    </ul>
</body>

排列错位问题

这里写图片描述

<style type="text/css">
    .box{
      border: 4px solid #000000;
      width: 200px;
      height: 200px;
      display: inline-block;
    }
    .itemSmall_1{
      background-color: chartreuse;
      width: 40px;
      height: 40px;
      border: 2px solid #000000;
      /* float: left; */
    }
    .itemSmall_2{
      background-color: chartreuse;
      width: 40px;
      height: 40px;
      border: 2px solid #000000;
      float: left;
    }
    .itemBig1{
      background-color: blue;
      width: 150px;
      height: 150px;
      border: 2px solid #000000;
    }
    .itemBig2{
      background-color: blue;
      width: 150px;
      height: 150px;
      border: 2px solid #000000;
      float: left;
    }
  </style>
   <body>
    <div class="box">
      <div class="itemSmall_1">
      </div>
      <div class="itemBig1">
      </div>
    </div>

    <div class="box">
      <div class="itemSmall_2">
      </div>
      行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素
    </div>
  </body>

原因,可能是快元素和行元素的baseline不一样导致上下不齐,所以解决的办法就是设置统一的vertical-align属性。基于同一个baseline值。

.box{
    border: 4px solid #000000;
     width: 200px;
     height: 200px;
     display: inline-block;
     vertical-align: top;
}

这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值