问一个超级新手的问题,关于css百分比

一个DIV里放4个子元素,每个子元素宽度为25%,为什么4个子元素不能显示在一行?第4个会换行,margin、padding、border都设置成0了啊,为什么会出现这种结果?

阅读 3.5k
8 个回答

在你的html文档结构中这4个元素是不是没有写在一行,浏览器会将换行符解析进去,成为这个空隙,加浮动或者去掉换行符可以解决这个问题。

body {
    height: 100%;
    width: 100%;
}

div {
    display: inline-block;
    width: 25px;
    height: 100%;
}
<body>
    <div>1</div><div>2</div><div>3</div><div>4</div>
</body>

这样应该就行了。

直接上代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    html, body {
      margin: 0;
      padding: 0;
    }
    div {
      display: inline-block;
      width: 25%;
      background-color: green;
    }
  </style>
</head>

<body>

<div>1</div><div>2</div><div>3</div><div>4</div>

</body>
</html>

有空格。你去查查去空格的方法吧。有好几种,一种是人工去掉,一种是该font-size;好像float也可以

<div>是快级元素,在不给他其他属性的时候他是占整行的,<span>这种行内元素就不会换行

inline-block的问题

我也觉得,回答提问好多遍了,可以先找找资料的

inline-block有默认间隙 需要清除 参考楼上网页的清除方法

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