Respostas:
Isso é outra coisa então:
div.inline { float:left; }
.clearBoth { clear:both; }
<div class="inline">1<br />2<br />3</div>
<div class="inline">1<br />2<br />3</div>
<div class="inline">1<br />2<br />3</div>
<br class="clearBoth" /><!-- you may or may not need this -->
Uma div embutida é uma aberração da web e deve ser derrotada até que se torne uma extensão (pelo menos 9 vezes em 10) ...
<span>foo</span>
<span>bar</span>
<span>baz</span>
... responde à pergunta original ...
Tente escrever assim:
div { border: 1px solid #CCC; }
<div style="display: inline">a</div>
<div style="display: inline">b</div>
<div style="display: inline">c</div>
Depois de ler esta pergunta e as respostas algumas vezes, tudo o que posso fazer é supor que houve algumas edições em andamento, e minha suspeita é que você recebeu a resposta incorreta com base em não fornecer informações suficientes. Minha pista vem do uso de br
tags.
Desculpas a Darryl. Eu li class = "inline" como style = "display: inline". Você tem a resposta certa, mesmo que use nomes de classe semanticamente questionáveis ;-)
O uso incorreto de br
fornecer um layout estrutural em vez de textual é muito prevalente para o meu gosto.
Se você deseja colocar mais do que elementos embutidos dentro deles divs
, deve flutuar esses div
s em vez de torná-los embutidos.
Divs flutuantes:
===== ======= == **** ***** ****** +++++ ++++
===== ==== ===== ******** ***** ** ++ +++++++
=== ======== === ******* **** ****
===== ==== ===== +++++++ ++
====== == ======
Divs em linha:
====== ==== ===== ===== == ==== *** ******* ***** *****
**** ++++ +++ ++ ++++ ++ +++++++ +++ ++++
Se você está atrás do anterior, esta é a sua solução e perde essas br
tags:
<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>
observe que a largura dessas divs é fluida; portanto, sinta-se à vontade para colocar larguras nelas, se você quiser controlar o comportamento.
Obrigado Steve
Use display:inline-block
com uma consulta de margem e mídia para o 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>
Você deve usar em
<span>
vez de usar<div>
a maneira correta de alinhar . porque div é um elemento de nível de bloco e sua exigência é para elementos de nível de bloco embutido.
Aqui está o código html conforme seus requisitos:
<div class="main-div">
<div>foo</div>
<div>bar</div>
<div>baz</div>`
</div>
display:inline-block;
float:left;
então você deve alterar a propriedade de exibição display:inline-block;
com força
Exemplo um
div {
display: inline-block;
}
Exemplo dois
div {
float: left;
}
você precisa limpar o flutuador
.main-div:after {
content: "";
clear: both;
display: table;
}
Como mencionado, display: inline é provavelmente o que você deseja. Alguns navegadores também suportam blocos embutidos.
Basta usar uma div wrapper com "float: left" e colocar caixas dentro também contendo float: left:
CSS:
wrapperline{
width: 300px;
float: left;
height: 60px;
background-color:#CCCCCC;}
.boxinside{
width: 50px;
float: left;
height: 50px;
margin: 5px;
background-color:#9C0;
float:left;}
HTML:
<div class="wrapperline">
<div class="boxinside">Box 1</div>
<div class="boxinside">Box 1</div>
<div class="boxinside">Box 1</div>
<div class="boxinside">Box 1</div>
<div class="boxinside">Box 1</div>
</div>
<span>
?
Eu usaria vãos ou flutuaria a div esquerda. O único problema com a flutuação é que você precisa limpar a flutuação posteriormente ou a div que contém deve ter o estilo de estouro definido como automático
Sei que as pessoas dizem que essa é uma péssima idéia, mas na prática pode ser útil se você quiser fazer algo como imagens de ladrilhos com comentários embaixo delas. por exemplo, o Picasaweb usa-o para exibir as miniaturas em um álbum.
Veja por exemplo / demo http://closure-library.googlecode.com/svn/trunk/closure/goog/demos/inline_block_quirks.html (classe goog-inline-block; abrevio para ib aqui)
/* below is a set of hacks to make inline-block work right on divs in IE. */
html > body .ib { display:inline-block; }
.ib {display:inline-block;position:relative;}
* html .ib { display: inline; }
:first-child + html .ib { display:inline; }
Dado esse CSS, defina sua div para a classe ib, e agora é magicamente um elemento de bloco embutido.
Você precisa conter os três divs. Aqui está um exemplo:
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;
}
Nota: os atributos border-radius são opcionais e funcionam apenas em navegadores compatíveis com CSS3.
HTML
<div class="contain">
<div>Foo</div>
</div>
<div class="contain">
<div>Bar</div>
</div>
<div class="contain">
<div>Baz</div>
</div>
Observe que os divs 'foo' 'bar' e 'baz' são mantidos dentro da div 'contém'.
<style type="text/css">
div.inline { display:inline; }
</style>
<div class="inline">a</div>
<div class="inline">b</div>
<div class="inline">c</div>
Eu acho que você pode usar dessa maneira sem usar nenhum css -
<table>
<tr>
<td>foo</td>
</tr>
<tr>
<td>bar</td>
</tr>
<tr>
<td>baz</td>
</tr>
</table>
No momento, você está usando o elemento de nível de bloco dessa maneira para obter resultados indesejados. Então você pode inline elemento como extensão, pequeno etc.
<span>foo</span><span>bar</span><span>baz</span>
nós podemos fazer isso como
.left {
float:left;
margin:3px;
}
<div class="left">foo</div>
<div class="left">bar</div>
<div class="left">baz</div>
<div class="cdiv">
<div class="inline"><p>para 1</p></div>
<div class="inline">
<p>para 1</p>
<span>para 2</span>
<h1>para 3</h1>
</div>
<div class="inline"><p>para 1</p></div>
<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 */