如何强制<Div>元素的内容保持在同一行?


<div> 或 division 标签用于在网页中分组 HTML 元素,允许我们创建具有相似功能的不同部分,可以使用 Id 或 class 属性轻松设置样式。HTML <div> 是一个块级元素,默认情况下,它不会显示任何与其相邻的其他 HTML 元素。

Div 是 Web 开发中最有用的标签,因为它允许我们在网页中分离数据,并为网页中的特定数据或功能创建特定部分。它成对使用。内容写在开始(<div>)和结束(</div>)标签之间。

示例

让我们来看一个显示 div 元素中内容换行的示例。

<!DOCTYPE html>
<html>
<head>
<title>Content layout in a div tag</title>
<style>
    div{
        background-color:lightyellow;
    }
</style>
</head>
<body>
    <h3>There is a div element below this line</h3>
    <div>
        By default, the content wraps itself according to the dimensions of the element within which it is contained. Hence, the text does not get clipped, instead it moves to the next line.
    </div>
</body>
</html>

我们可以观察到,内容会根据 div 标签的宽度自动换行,在本例中,div 标签的宽度由浏览器宽度决定。

假设我们为 div 元素设置自定义宽度,例如 250 像素,内容将根据该宽度自动换行。

但是,我们可以更改默认设置,并使用下面讨论的某些 CSS 属性强制<div>标签的内容水平显示在同一行。

使用 Overflow 和 Whitespace 属性

CSS overflow 属性指定当内容过大而无法容纳在容器中并溢出边缘时会发生什么。还有一些姐妹属性 overflow-y 和 overflow-x,这些属性不太常用。

overflow 属性有四个选项:visible(默认)、hidden、scroll 和 auto。我们可以将 overflow 属性设置为“hidden”以防止内容在元素边界之外呈现。结果,用户将无法滚动到框的填充边缘之外读取内容,因为内容将在那里被裁剪。

CSS white-space 属性

CSS white-space 属性控制如何显示空白序列。它指定是否应压缩空白(合并成单个空格)以及是否应在行尾换行。

white-space 属性使用 5 个不同的关键字值设置:normal、pre、nowrap、pre-wrap 和 pre-line。当 CSS white-space 属性设置为“nowrap”时,任何两个或多个空白序列都显示为单个空白。除非明确指定,否则元素的内容不会换行。

CSS float 属性用于定位。它用于将元素移动到左侧右侧,以便另一个元素可以环绕它。它最常用于图像和布局。

示例

在下面的示例中,我们将 overflow 设置为hidden,并使用 whitespace 属性的nowrap值强制 div 的内容保持在同一行。

<!DOCTYPE html>
<html>
  <head>
    <title>How to Force the Content of the <div> Element to Stay on the Same Line?</title>
    <style>
      div {
          background-color:whitesmoke;
          height:30px;
          width:250px;
          overflow:hidden;
          white-space:nowrap;
      }
    </style>
  </head>
  <body>
    <div>This is an example of text clipping using the CSS overflow and white-space properties.</div>
  </body>
</html>

使用浮动元素

在这个例子中,我们将使用三个具有固定宽度的浮动元素:div、ul 和 li。为了允许子组件在同一行上水平浮动,子包装器的宽度设置为大于父级。

示例

<!DOCTYPE html>
<html>
  <head>
    <title>How to Force the Content of the <div> Element to Stay on the Same Line?</title>
    <style>
      #parent {
        width: 300px;
        height: 100px;
        overflow-x: auto;
        overflow-y: hidden;
      }
      #childWrapper {
        list-style: none;
        width: 420px;
        height: 100px;
        margin: 0;
        padding: 0;
        overflow: hidden;
      }
      #childWrapper > li {
        float: left;
        width: 140px;
        height: 100px;
        background-color: thistle;
      }
      #childWrapper > li:nth-child(even) {
        background-color: lavenderblush;
      }
    </style>
  </head>
  <body>
    <div id="parent">
      <ul id="childWrapper">
        <li>111111111111111111111111</li>
        <li>222222222222222222222222</li>
        <li>333333333333333333333333</li>
      </ul>
    </div>
  </body>
</html>

更新于:2023年9月11日

2K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告