为什么li中的s设成block,会和后边的a有一大段距离呢?

小衣服图标为什么和后边的a有那么大段距离呢
a不是block
图片描述

图片描述

阅读 4.1k
4 个回答

因为a所在的父元素上设置了text-align:center,所以在这里a就会水平居中啦,你如果不想居中,就把.pritetext-align:center去掉

首先,这代码,真心换换吧,直接给你写一段:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8"/>
  <title>示例</title>
  <style>
    html {
      font-size: 10px;
    }
    body {
      font-size: 1.4rem;
    }
    .list ul {
      list-style: none;
      margin: 0;
      padding: 0;
      line-height: 2.9rem;;
    }
    .list ul li {
      border: 1px solid #ddd;
      margin-top: -1px;
    }
    .list ul li a {
      display: block;
      padding: 0 0 0 3rem;
      position: relative;
      text-decoration: none;
      color: #333;
    }
    .list ul li a:hover {
      background-color: #f0f0f0;
      color: #090;
    }
    /**
     * 在下面写 background 加图片即可
     */
    .list ul li a:before {
      content: "?";
      position: absolute;
      width: 2rem;
      height: 2rem;
      left: .5rem;
      top: .5rem;
      border-radius: 1rem;
      line-height: 2rem;
      text-align: center;
      background: #f0f0f0;
    }
    .list ul li a:hover::before {
      content: "@"
    }
  </style>
</head>
<body>
<div class="list">
  <ul>
    <li><a href="#">这是一个标题</a></li>
    <li><a href="#">这是一个标题</a></li>
    <li><a href="#">这是一个标题</a></li>
    <li><a href="#">这是一个标题</a></li>
    <li><a href="#">这是一个标题</a></li>
  </ul>
</div>
</body>
</html>
.sprite s{
  float:left;
}

你都让他左浮动了,肯定会空出大端距离
另外换个标签吧,别用 s 标签了,建议用 i 标签或者 span 标签

display: block; -> 元素为块元素,占满一行
楼主了解下inline-block就解决了!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题