Comunidad de diseño web y desarrollo en internet online

Div, float clear... ¿?

Citar            
MensajeEscrito el 17 Mar 2006 12:01 am
#intro { Soy nuevo, los felicito a todos por el foro y por el impresionante sitio de CristaLab, la verdad que esta EXCelente! :lol: }

He leido el tutorial; he leido los temas relacionados, he buscado tambien otros temas, he leido, he probado y NO encuentro la forma de solucionar el problema :?
Clasico problema por lo que veo, no soy el primero a quien le pase, ni el ultimo... espero.
En fin, una imagen habla por mil palabras no?

Lamentablemente tengo todo en localhost, asi que no puedo darles detalles online de como viene la mano, si les cuento mas o menos, es un template CSS para LifeType (php/mysql/blog/open). ^^

El codigo al respecto seria:
HTML:

Código :

<body>

      <div id="container">
            
            <div id="header">
            
                  <h1><bla/h1>

                  <h2></h2>

                  
                  <ul id="nav">

                  <li>bla</li>
                      <li>bla</li>
<li>bla</li>
<li>bla</li>
                  
                  </ul>

            
            </div>
<div id="content">




            
<h1>bla</h1>

<div>bla</div>

<p class="article_menu"> Por SidV el 16 Marzo, 2006 19:57 <br />
  </p>

</div>

<div id="sidebar">

<h1>Menú</h1>
<ul class="submenu">
<li>bla</li>
<li>bla</li>
<li>bla</li>
<li>bla</li>
</ul>
<h1>buscar</h1>
<div id="Search">
<form id="search_form" method="post" action="bla">
<fieldset>
<label for="searchTerms"><input type="text" id="searchTerms" name="searchTerms" value="" /></label>
<input type="submit" name="Search" value="Buscar" class="button" />
<input type="hidden" name="op" value="Search" />
<input type="hidden" name="blogId" value="1" />
</fieldset>
</form>
</div>

<h1>calendario</h1>
<div id="Calendar">
<table class="calMonth">
<thead>
<tr class="calMonthNav">

   <th class="calMonthBackward">bla</th>
   <th class="calMonthCurrent" colspan="5">Marzo 2006</th>
   <th class="calMonthForward">bla</th>
</tr>
<tr class="calMonthHeader">
   <th scope="col" abbr="Lunes">Lu</th>
   <th scope="col" abbr="Martes">Ma</th>
   <th scope="col" abbr="Miércoles">Mi</th>

   <th scope="col" abbr="Jueves">Ju</th>
   <th scope="col" abbr="Viernes">Vi</th>
   <th scope="col" abbr="Sábado">Sa</th>
   <th scope="col" abbr="Domingo">Do</th>
</tr>
</thead>
<tbody>
<tr>
   <td class="calMonthDay">&nbsp;</td>

   <td class="calMonthDay">&nbsp;</td>
   <td class="calMonthDay">1</td>
   <td class="calMonthDay">2</td>
   <td class="calMonthDay">3</td>
   <td class="calMonthDay">4</td>
   <td class="calMonthDay">5</td>

</tr>
<tr>
   <td class="calMonthDay">6</td>
   <td class="calMonthDay">7</td>
   <td class="calMonthDay">8</td>
   <td class="calMonthDay">9</td>
   <td class="calMonthDay">10</td>

   <td class="calMonthDay">11</td>
   <td class="calMonthDay">12</td>
</tr>
<tr>
   <td class="calMonthDay">bla</td>
   <td class="calMonthDay">14</td>
   <td class="calMonthDay">bla</td>

   <td class="calMonthToday">bla</td>
   <td class="calMonthDay">17</td>
   <td class="calMonthDay">18</td>
   <td class="calMonthDay">19</td>
</tr>
<tr>
   <td class="calMonthDay">20</td>

   <td class="calMonthDay">21</td>
   <td class="calMonthDay">22</td>
   <td class="calMonthDay">23</td>
   <td class="calMonthDay">24</td>
   <td class="calMonthDay">25</td>
   <td class="calMonthDay">26</td>

</tr>
<tr>
   <td class="calMonthDay">27</td>
   <td class="calMonthDay">28</td>
   <td class="calMonthDay">29</td>
   <td class="calMonthDay">30</td>
   <td class="calMonthDay">31</td>

   <td class="calMonthDay">&nbsp;</td>
   <td class="calMonthDay">&nbsp;</td>
</tr>
</tbody>
</table>

</div>

<h1>recientemente...</h1>
<div id="Recently">
<ul>
<li>bla</li>
<li>bla</li>
<li>bla</li>
</ul>
</div>

<h1>Categorías</h1>
<ul class="submenu">
<li>bla</li>
<li>bla</li>
<li>bla</li>
</ul>

<h1>Agregar</h1>
<div id="Syndicate">
<ul>
<li>bla</li>
<li>bla</li>
<li>bla</li>
</ul>
</div>
</div>

<div class="clearer">&nbsp;</div>


<div id="footer">

<p />blabla
</div>
</body>

Es largo, pero porque trate de dejarles todo para que entiendan...
El CSS:

Código :

#container {
width:500px;
margin:0 auto;
}

#header {
background-color:#eeeeee;
margin:10px;
padding:30px 10px 30px 10px;
border-top:2px solid #ccc;
}
#sidebar {
float:right;
width:154px;
margin:0px 0px 10px 0;
}

#sidebar h1 {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
color:#000;
margin:10px 5px 15px 10px;
}
#sidebar p {
padding:5px;
margin:5px 5px 5px 10px;
line-height:17px;
word-spacing:-1px;
}

ul.submenu {
margin:0;
padding:0;
}
.submenu li {
marign:0;
padding:0;
list-style:none;
}
.submenu a {
display:block;
height:13px;
padding:7px 7px 7px 17px;
margin:1px 0 0 0;
background-color:#fff;
background-image:url(imgs/submenua_normal.jpg);
background-position:left;
background-repeat:repeat-y;
}
.submenu a:hover {
background-image:url(imgs/submenua.jpg);
background-position:bottom;
background-repeat:no-repeat;
background-color:#fff;
padding:7px 7px 7px 15px;
}
.submenu a:focus {
background-image:url(imgs/submenua.jpg);
background-position:bottom;
background-repeat:no-repeat;
background-color:#fff;
padding:7px 7px 7px 15px;
}
.submenu a:active {
background-image:url(imgs/submenua.jpg);
background-position:bottom;
background-repeat:no-repeat;
background-color:#fff;
padding:7px 7px 7px 15px;
}
#content {
margin:10px 185px 10px 0px;
text-align: justify;
float:left;
display:inline;
padding:5px;
}
#content h1 {
font-family:Trebuchet MS, Geneva, Arial, Helvetica, sans-serif;
font-size:14px;
border-bottom:1px solid #eee;
padding:5px;
color:#000;
}
#content h1 a {
color:#000;
text-decoration:none;
display:block;
background-image:url(imgs/h1.png);
background-position:right;
background-repeat:no-repeat;
}
#content h1 a:hover {
color:#444;
background-image:url(imgs/h1_hover.png);
}
#content h2 {
font-size:11px;
color:#ccc;
margin:10px 0 10px 0;
padding:5px;
}
#content p {
padding:5px;
line-height:18px;
word-spacing: 0.1em;
}
#content .article_menu {
text-align:right;
padding:5px;
margin:10px 0 20px 0;
border-top:1px solid #eee;
}
#content .article_menu b {
float:left;
font-weight:normal;
}
#content .article_menu a {
padding:0 0 0 15px;
background-image:url(imgs/comment.png);
background-position:left;
background-repeat:no-repeat;
color:#333;
text-decoration:none;
}
#content p a {
color:#333;
text-decoration:none;
}

#content p:hover a {
border-bottom:1px dotted #000;
}
#content p:hover a:hover {
border-bottom:1px solid #000;
}
#content .article_menu a:hover {
color:#000;
background-image:url(imgs/comment_hover.png);
}
#content ul {
margin:0 0 0 15px;
padding:0;
border-top:1px solid #f6f6f6;
}
#content li {
margin:5px 0 5px 0;
border-bottom:1px solid #f6f6f6;
padding:0 0 5px 20px;
list-style:none;
background-image:url(imgs/arrow.png);
background-position:top left;
background-repeat:no-repeat;
color:#999;
}
#footer {
background-color:#eee;
border-top:2px solid #ccc;
padding:10px;
text-align:center;
}
.clearer {
clear : both;
height : 1px;
font-size : 1px;
}

Del #header no les puse todos los css porque no da problemas eso...
El drama esta entre sidebar y el contenido...
Hasta he probado un clearfix y tampoco anda....

Código :

.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}

Alguna idea? :roll:
Por favor... agradeceria cualquier centro, muchas gracias desde ya.

Por SidV

20 de clabLevel



Genero:Masculino  

Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 17 Mar 2006 12:12 am
No quise ver todo tu código (no tengo tiempo), pero por lo que vi de la imagen me luce que el problema es asunto del ancho combinado con paddings y margins... OJO con eso... dale un vistazo y si está bien, simplemente ignórame ;)

Éxito!

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 17 Mar 2006 12:23 am
vaya.. es una GRAN parte de código.
unos consejos:
1. NO utilices las subclases :after, :before y :hover (para elementos no-links); internet explorer las ignora y, sólo te harán trabajar más
2. comienza tus css con este código:

Código :

*{
margin:0;
padding:0;
}
así reseteas los paddings y los margins de todos los elementos a cero, de esta forma te evitas complicaciones
3. la propiedad "clear" se refiere a qué elementos puede no hay a los lados de éste elemento. clear:left no permite que haya elementos a la izquierda, clear:right a la derecha y clear:both a ambos lados. no creo que tu problema sea éste, por lo tanto no es buena idea
4. si vas a utilizar mil veces (consecutivamente) una clase, ejemplo:

Código :

<ul>
<li class="clase1">a</li>
<li class="clase1">a</li>
<li class="clase1">a</li>
....
</ul>

mejor defines una clase/id al elemento padre:

Código :

<ul class="lista1">
<li>a</li>
<li>a</li>
<li>a</li>
....
</ul>

y el css para los elementos li que sean contenidos en la clase "lista1" sería:

Código :

.lista1 li{
[propiedad]: [elemento];
}


por lo pronto, fuera de estos detalles vas por buen camino. si aún así con estos conesejos no logras solucionar tu problema, sería buena idea que simplificaras tu código (tanto en XHTML como en CSS) y lo pegaras de nuevo, además de adjuntarle un link para ir viendo cómo se comporta

en fin, un saludo. suerte

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 17 Mar 2006 12:25 am
Alguien podria ampliarme el tema de los "ancho combinado con paddings y margins" para ver si la "suma" que estoy haciendo va bien? O sea, gracias Pedro por la respuesta... no me imaginaba nunca algo de anchos combinados... :P

Desde ya gracias.

Pd: Fael, ahora leo tu post, lo escribiste mientras estaba typeando... gracias

Por SidV

20 de clabLevel



Genero:Masculino  

Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 17 Mar 2006 12:44 am
Lo de los margin y paddings es respecto al modelo de cajas

Aqui



suerte! :wink:

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

firefox
Citar            
MensajeEscrito el 17 Mar 2006 12:46 am
Fael, ahora si te respondo...
Mira, le tema de los id y class yo lo sé y lo entiendo bien, pero esa base de "tr class=" tan repetidos que esta ahi proviene de una etiqueta (php) que yo no he programado y no quisiera tocar, aunque sea codigo abierto del lifetype.
De todas formas muchas gracias por tu respuesta...

Miren, sigo depurando mi codigo, y he llegado a un resultado interesante;
Si cambio el margin por -200 (el top) de esta forma:

Código :

margin:-200px 0px 10px 0;

El menu sube, sin embargo esto no solucionaria los problemas, ya que en otras secciones el menu "sube" -200 pixeles por arriba de la base de la pagina, se entiende?
O sea, sigo sin entender cual es el problema en la pagina "principal" de este blog.

Salu2 y gracias nuevamente.

UPDATE: Gracias Raymond... ultimos cambios por tu respuesta:
Modifique el sidebar asi:

Código :

#sidebar {
float:right;
width:155px;
\width: 185px; /*2-para ie-se agrega el padding y border*/
w\idth: 155px; /*3- estandares*/
margin:0px 0px 10px 0;
}

Se logra ver bien (de margenes) en IE y FF, pero el menu sigue apareciendo "alla" abajo... :twisted:
Me estoy volviendo LOCO!

Gracias a to2

Por SidV

20 de clabLevel



Genero:Masculino  

Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 17 Mar 2006 05:08 am
Insisto... tu tema tiene que ver con simple aritmética...
Para probar, a mi me funciona MUY BIEN colorear los elementos. Por ejemplo ponerle un background a los divs de cada lado, al izquierdo un color, al derecho otro... así puedes ver -en ambos navegadores- cómo se está comportando tu obra maestra...

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 17 Mar 2006 07:33 am
Gracias pedro por contestar...
Hice lo que vos decis, y veo bien los margenes, no hay problemas de ancho... (despues te paso un screen).

Algo que les queria comentar es lo siguiente, he peleado tanto con el codigo que pude ver algo interesante...
Si coloco en el contenido un texto corto, ejemplo "Esto es sobre mi" ... el menu sube y se ve todo perfecto.
Pero si coloco un texto largo que ocupe todo el ancho del contenido, y pase a otra linea y asi... el menu se cae para abajo!
Que propiedad CSS esta fallando?

Soy todo ojos!

Por SidV

20 de clabLevel



Genero:Masculino  

Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 17 Mar 2006 03:22 pm
Debes estar haciendo mal los floats, con tan poca información no veo otro motivo.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 17 Mar 2006 05:24 pm
No eran floats, eran los margins...
Mas o menos Pedro dio en el blanco...
Termine tocando el content... para que el sidebar entre perfecto;

Código :

#content {
background-color:#FFE4C4;
margin:10px;
text-align: justify;
float:left;
padding:5px;
display:run-in;
max-width: 36em;
width:60%;

Bueniiiiisimo... estoy chocho ;)

Gracias a todos...
Screen de como trabajaba con colores en los divs! y como quedo!

Por SidV

20 de clabLevel



Genero:Masculino  

Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 17 Mar 2006 06:58 pm

SidV escribió:

No eran floats, eran los margins...
Mas o menos Pedro dio en el blanco...
Screen de como trabajaba con colores en los divs! y como quedo!

Felicidades!
Utiliza siempre la teoría del descarte... sino, pues a hacerlo de cero. Profesionalmente no puedes darte el lujo de perder tanto tiempo...
Nos alegra haberte ayudado. Ahora, pay it forward...

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.