Css 如何使div元素内联显示?

Css 如何使div元素内联显示?,css,line,html,Css,Line,Html,鉴于此HTML: <div>foo</div><div>bar</div><div>baz</div> foobarbaz 如何使它们以如下方式内联显示: 福吧巴兹酒店 不是这样的: foo 酒吧 巴兹 试着这样写: div{border:1px solid#CCC;} a B c div.inline{display:inline;} A. B C 那就另当别论了: div.inline{float:left;}

鉴于此HTML:

<div>foo</div><div>bar</div><div>baz</div>
foobarbaz
如何使它们以如下方式内联显示:

福吧巴兹酒店

不是这样的:

foo
酒吧
巴兹


试着这样写:

div{border:1px solid#CCC;}
a
B
c

div.inline{display:inline;}
A.
B
C

那就另当别论了:

div.inline{float:left;}
.clearTheals{clear:tweals;}
1
2
3 1
2
3 1
2
3

内联div是网络的一个怪物&应该被打败,直到它变成一个跨度(至少10次中有9次)

foo
酒吧
巴兹

…回答了原始问题…

如前所述,display:inline可能就是您想要的。一些浏览器还支持内联块


读了几遍这个问题和答案后,我所能做的就是假设有相当多的编辑工作正在进行,我怀疑你因为没有提供足够的信息而得到了错误的答案。我的线索来自
br
标记的使用

向Darryl道歉。我将class=“inline”理解为style=“display:inline”。即使使用了语义上有问题的类名,您也有正确的答案;-)

div {
    float: left;
}
我不喜欢使用
br
来提供结构布局而不是文本布局

如果您想在这些
div
中放置多个内联元素,那么应该浮动这些
div
s,而不是使它们内联

浮动股息:

===== ======= ==   **** ***** ******   +++++ ++++
===== ==== =====   ******** ***** **   ++ +++++++
=== ======== ===   ******* **** ****   
===== ==== =====                       +++++++ ++
====== == ======
内联div:

====== ==== ===== ===== == ==== *** ******* ***** ***** 
**** ++++ +++ ++ ++++ ++ +++++++ +++ ++++
如果您在寻找前者,则这是您的解决方案,并丢失那些
br
标记:

<div style="float: left;" >
  <p>block level content or <span>inline content</span>.</p>
  <p>block level content or <span>inline content</span>.</p>
</div>
<div style="float: left;" >
  <p>block level content or <span>inline content</span>.</p>
  <p>block level content or <span>inline content</span>.</p>
</div>
<div style="float: left;" >
  <p>block level content or <span>inline content</span>.</p>
  <p>block level content or <span>inline content</span>.</p>
</div>

块级内容或内联内容

块级内容或内联内容

块级内容或内联内容

块级内容或内联内容

块级内容或内联内容

块级内容或内联内容

请注意,这些div的宽度是流动的,因此,如果希望控制行为,可以随意在其上设置宽度

谢谢,
Steve

我只是倾向于将它们设置为固定宽度,这样它们加起来就等于页面的总宽度——可能只有在使用固定宽度页面时才起作用。还有“float”。

您需要包含三个div。以下是一个例子:

CSS

div.contain
{
  margin:3%;
  border: none;
  height: auto;
  width: auto;
  float: left;
}

div.contain div
{
  display:inline;
  width:200px;
  height:300px;
  padding: 15px;
  margin: auto;
  border:1px solid red;
  background-color:#fffff7;
  -moz-border-radius:25px; /* Firefox */
  border-radius:25px;
}
注意:边界半径属性是可选的,仅适用于符合CSS3的浏览器

HTML

<div class="contain">
  <div>Foo</div>
</div>

<div class="contain">
  <div>Bar</div>
</div>

<div class="contain">
  <div>Baz</div>
</div>

福
酒吧
巴兹

请注意,div“foo”“bar”和“baz”分别位于“contain”div中。

我知道有人说这是一个糟糕的主意,但实际上,如果你想做一些像平铺图像这样的事情,在它们下面添加注释,它可能会很有用。e、 g.Picasaweb使用它在相册中显示缩略图。
参见示例/演示(类goog内联块;我在这里将其缩写为ib)


给定CSS,将div设置为class ib,现在它神奇地成为一个内联块元素。

我会使用span或将div向左浮动。浮点唯一的问题是,您必须在之后清除浮点,否则包含的div必须将溢出样式设置为auto

只需使用带有“float:left”的包装div,并将包含float:left:

CSS:

HTML:


方框1
方框1
方框1
方框1
方框1

使用
显示:带页边空白和IE6/7媒体查询的内联块

<html>
  <head>
    <style>
      div { display:inline-block; }
      /* IE6-7 */
      @media,
          {
          div { display: inline; margin-right:10px; }
          }
   </style>
  </head>
  <div>foo</div>
  <div>bar</div>
  <div>baz</div>
</html>

div{display:inline块;}
/*IE6-7*/
@媒体,,
{
div{显示:内联;右边距:10px;}
}
福
酒吧
巴兹
我们可以这样做

.left {
    float:left;
    margin:3px;
}
<div class="left">foo</div>
<div class="left">bar</div>
<div class="left">baz</div>
。左{
浮动:左;
保证金:3倍;
}
福
酒吧
巴兹

第1款

第1款

第2段 第3段 第1款

好的,对我来说:

<style type="text/css">
    div{
        position: relative;
        display: inline-block;
        width:25px;
        height:25px;
    }
</style>
<div>toto</div>
<div>toto</div>
<div>toto</div>

div{
位置:相对位置;
显示:内联块;
宽度:25px;
高度:25px;
}
托托
托托
托托

我认为您可以使用这种方式,而无需使用任何css-

<table>
    <tr>
        <td>foo</td>
    </tr>
    <tr>
        <td>bar</td>
    </tr>
    <tr>
        <td>baz</td>
    </tr>
</table>

福
酒吧
巴兹
现在,您正在使用块级元素,这样会得到不想要的结果。因此,您可以内联元素,如span、small等

<span>foo</span><span>bar</span><span>baz</span>
foobarbaz
您应该使用
而不是
,以获得正确的操作方式 内联。因为div是块级元素,而您的需求是内联块级元素

以下是符合您要求的html代码:

<div class="main-div">
 <div>foo</div>
 <div>bar</div>
 <div>baz</div>`
</div>
示例二

div {
    float: left;
}
你需要清除浮子

foobarbaz
//解决方案1
#div01、div02、div03{
浮动:左;
宽度:2%;
}   
富巴巴兹
//解决方案2
#div01、div02、div03{
显示:内联;
左侧填充:5px;
}   
富巴巴兹
/*我想这会有帮助,但如果你有任何其他想法,让我知道*/

这是问题的正确答案,但考虑到已被接受的答案,我怀疑该问题没有解决实际情况。有时您希望div以内联方式显示,例如,您希望在元素的左右两侧添加边距。我认为这不可能在短时间内完成。Steve可能应该使用float而不是inline。我不确定我是否遵循Darryl,您可以在span>>xxxxx中添加边距或填充。不幸的是,HTML5不支持将div放在数组中。我曾经使用s将CSS样式放在一个部分上,而不是让浏览器将该部分解释为一个块,并将其块布局强加给我。但我今天在将我的页面移植到JQuery Mobile+HTML5时发现,如果您有
<style type="text/css">
    div{
        position: relative;
        display: inline-block;
        width:25px;
        height:25px;
    }
</style>
<div>toto</div>
<div>toto</div>
<div>toto</div>
<table>
    <tr>
        <td>foo</td>
    </tr>
    <tr>
        <td>bar</td>
    </tr>
    <tr>
        <td>baz</td>
    </tr>
</table>
<span>foo</span><span>bar</span><span>baz</span>
<div class="main-div">
 <div>foo</div>
 <div>bar</div>
 <div>baz</div>`
</div>
div {
    display: inline-block;
}
div {
    float: left;
}
.main-div:after {
    content: "";
    clear: both;
    display: table;
}
<div>foo</div><div>bar</div><div>baz</div>
//solution 1
<style>
    #div01, #div02, #div03 {
                                float:left;
                                width:2%;
    }   
 </style>
 <div id="div01">foo</div><div id="div02">bar</div><div id="div03">baz</div>

 //solution 2

 <style>
      #div01, #div02, #div03 {
                                  display:inline;
                                  padding-left:5px;
      }   
</style>
<div id="div01">foo</div><div id="div02">bar</div><div id="div03">baz</div>

 /* I think this would help but if you have any other thoughts just let me knw      kk */