如何防止DIV标记开始新行?

und*_*ned 83 html css

我想将一行文本输出到包含标记的浏览器.渲染时,DIV会显示一条新行.如何在同一行的div标签中包含内容 - 这是我的代码.

<?php 
  echo("<a href=\"pagea.php?id=$id\">Page A</a>") 
?>
<div id="contentInfo_new">
  <script type="text/javascript" src="getData.php?id=<?php echo($id); ?>"></script>
</div>
Run Code Online (Sandbox Code Playgroud)

我试着在这里整理一下.如何在一行显示此显示?

SLa*_*aks 129

div标签是块元素,造成这种行为.

您应该使用span内联的元素.

如果你真的想使用div,请添加style="display: inline".(你也可以把它放在CSS规则中)

  • 我很清楚这一点; 这就是我写"如果你真的想要"的原因. (25认同)
  • 在HTML5之前,div被定义为页面的一个分区.它没有定义任何表现特征.换句话说,div根据其定义基于其包含的内容和元素在语义上是合适的.因此,将div设置为显示是完全正常的:内联而不是违反任何语义或标准定义. (19认同)
  • 只有`display:inline`与DIV的内容相矛盾,所以请不要这样做!请改用span. (11认同)
  • 在我的情况下,我不能使用span,因为我想定义一个break-word自动换行属性,这些只适用于块类型元素.但是我不能使用div,因为我不想要新的一行.所以我使用`display:inline-block`和div元素.说出你对风格的看法,但这解决了这两个问题. (2认同)

Shi*_*shu 31

我不是专家,但试试 white-space:nowrap;

所有主流浏览器都支持white-space属性.

注意:"inherit"IE7及更早版本不支持该值.IE8需要一个!DOCTYPE.IE9支持"inherit".


cob*_*bal 16

div 是一个块元素,它总是占用自己的行.

请改用span标签

  • 你的功能令人困惑.div占用自己的行,因为它默认显示为display:block,没有其他原因. (10认同)

Fra*_*anz 6

添加style="display: inline"到您的div.


Jim*_*meh 5

在div和链接上使用float:left,或者使用span.