如何强制<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>