Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O meu problema é o seguinte: eu tenho um texto, uma foto e um titulo (como se fosse um blog) que é postado, só que como não tem um tamanho certo, pré determinado, dependendo o tamanho do texto, acaba ficando em cima do conteúdo que está na parte inferior do site... Alguém sabe como posso resolver isso?
>
Você deve ter definido a DIV com um tamanho fixo.
Você pode resolver isto mudando o height para auto ou, se quiser colocar barra de rolagem, definindo o overflow:scroll
[]'s
Nao funciona, pois todas as div estão com position:absolut, logo ele não reconhece praticamente nenhuma div corretamente...
Só se você cortar uma parte do texto e colocar "...":
$texto = "texto de teste para te mostrar um exemplo";
$texto = substr($texto, 0, 30)."...";
echo $texto;
A função substr é mais ou menos assim:
substr(/ String /, / De onde tirar /, / Até onde /);
Cara se for o que eu estou imaginando, define esse comando para todo o seu css.
word-wrap: break-word;
lembre de deixar o height da div auto sempre.
Esse não é o problema, imagina que tempo uma div com os seguintes atributos.
#lista{
position:absolut;
top: 100px;
left: 150px;
width:500px;
backgroud-color:#cfcfcf;
height:auto;
}
e ela é assim no html
<div id="lista">
<?php
// Aqui vem a parte do banco, que colocar x textos e cada texto tem tamanho diferente
?>
</div>
Como fazer para que a cor de fundo fique sem que acabe e ainda tenha texto na parte de baixo(estourando a div)... Sendo que cada texto tem tamanhos diferentes, pois o usuário que o escreve?
Faça tipo assim:
- Conta quantas letras tem no seu texto;
- Veja quantas cabe mais ou menos em sua div;
<style>
.div{height:50px;}
</style>
<?php
$texto = "texto de teste para te mostrar um exemplo";$total = 65;
if($conta_letras > $total){
/ Se atingir o limite, aumenta de tamanho /
echo "<div class=\"div\" style=\"height:100px\">$texto</div>";
}else{
echo "<div class=\"div\">$texto</div>";
}
?>Seguindo o exemplo que você deu não devia acontecer este problema.
Só para tirar a dúvida fiz um teste aqui e funcionou perfeitamente, o erro deve estar em outra parte.
Você definiu alguma div como relative?
Ps: Correção do CSS de exemplo:
#lista{
position:absolute;
top: 100px;
left: 150px;
width:500px;
background-color:#cfcfcf;
height:auto;
}Acho que descobri o problema... Eu tenho uma div dentro da outra, só que é a 1 div que controla a cor de fundo da pagina, como no exemplo:
<?php
include '../sql.php';
?>
<style>
#lista{
position:absolute;
top: 100px;
left: 150px;
width:500px;
background-color:#cfcfcf;
height:auto;
}#lista2{
position:absolute;
top: 100px;
left: 150px;
width:500px;
background-color:#9C6;
}
</style>
<div id="lista">Alguma coisa aqui....
<div id="lista2">
<?php
$sql = mysql_query("SELECT * FROM historias") or die ('Error 2');
while ($aa = mysql_fetch_array($sql)){
$texto = $aa['texto'];
echo $texto.'<br>';
}
?>
</div>
</div>
Agora que esta o meu caso... Só uma parte fica com a cor de fundo... Sabe resolver isso?
Nossa que erro burro, era só que colocar o position:relative. Só conseguir ver quando testei nesse exemplo que fiz acima... Vlw a todos pela ajuda
Você deve ter definido a DIV com um tamanho fixo.
Você pode resolver isto mudando o height para auto ou, se quiser colocar barra de rolagem, definindo o overflow:scroll
[]'s