Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Problema con cajas flotantes

Estas en el tema de Problema con cajas flotantes en el foro de CSS en Foros del Web. Wenas a todos! Esto es lo que tengo: Mi objetivo es poner todo el menú en línea y la palabra "Presupuesto" sobre el Fondo semitransparente ...
  #1 (permalink)  
Antiguo 15/07/2014, 17:36
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Problema con cajas flotantes

Wenas a todos!

Esto es lo que tengo:


Mi objetivo es poner todo el menú en línea y la palabra "Presupuesto" sobre el Fondo semitransparente rojo.

Aquí está el código HTML:
Código HTML:
Ver original
  1. <div id="crystal" class="shadow">
  2.    <div id="head_wrap">
  3.        <div id="logo"></div>
  4.        <div id="titulo">Titulo<p>Slogan</p></div>
  5.        <div id="menu">
  6.            <div id="boton"><a href="#">Inicio</a></div>
  7.            <div id="boton"><a href="#">La Empresa</a></div>
  8.            <div id="boton"><a href="#">Servicios</a></div>
  9.            <div id="boton"><a href="#">Contacto</a></div>
  10.               <div class="cotizar tamano">Presupuesto</div>
  11.               <div class="fondo tamano trans"></div>
  12.       </div>
  13.    </div>
  14. </div>

Y el css responsable de todo eso:
Código CSS:
Ver original
  1. #head_wrap {
  2.     position: relative;
  3.     top: 7px;
  4.     left: 7px;
  5. }
  6.  
  7. #crystal {
  8.     position: relative;
  9.     background: url(../images/crystal3.png);
  10.     border-top-left-radius: 45px 27%;
  11.     border-bottom-right-radius: 45px 27%;
  12.     height: 117px;
  13.     width: 100%;
  14. }
  15.  
  16. .shadow {
  17.     box-shadow: #333 0px 1px 1px 1px;
  18.     -webkit-box-shadow: #333 0px 1px 1px 1px;
  19.     -moz-webkit-box-shadow: #333 0px 1px 1px 1px;
  20.     -o-webkit-box-shadow: #333 0px 1px 1px 1px;
  21. }
  22.  
  23. #logo {
  24.     background: url(../images/logo_trans_p.png) no-repeat;
  25.     float: left;
  26.     height: 103px;
  27.     width: 70px;
  28. }
  29.  
  30. #titulo {
  31.     color: white;
  32.     font-size: 35px;
  33.     float: left;
  34.     padding: 0px 10px;
  35.     height: 70px;
  36.     width: 88%;
  37. }
  38.     #titulo p {
  39.         margin: 0;
  40.         padding: 0px 120px;
  41.         font-size: 20px;
  42.     }
  43.  
  44. #menu {
  45.     background: rgba(77,76,77,1);
  46.     background: -moz-linear-gradient(left, rgba(77,76,77,1) 0%, rgba(245,245,245,0.1) 70%, rgba(245,245,245,0) 78%);
  47.     background: -webkit-gradient(left top, right top, color-stop(0%, rgba(77,76,77,1)), color-stop(70%, rgba(245,245,245,0.1)), color-stop(78%, rgba(245,245,245,0)));
  48.     background: -webkit-linear-gradient(left, rgba(77,76,77,1) 0%, rgba(245,245,245,0.1) 70%, rgba(245,245,245,0) 78%);
  49.     background: -o-linear-gradient(left, rgba(77,76,77,1) 0%, rgba(245,245,245,0.1) 70%, rgba(245,245,245,0) 78%);
  50.     background: -ms-linear-gradient(left, rgba(77,76,77,1) 0%, rgba(245,245,245,0.1) 70%, rgba(245,245,245,0) 78%);
  51.     background: linear-gradient(to right, rgba(77,76,77,1) 0%, rgba(245,245,245,0.1) 70%, rgba(245,245,245,0) 78%);
  52.     filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d4c4d', endColorstr='#f5f5f5', GradientType=1 );
  53.     position: relative;
  54.     float: left;
  55.     margin-left: 5px;
  56.     height: 30px;
  57.     width: 88.5%;
  58. }
  59.  
  60. #menu a { color: white; text-decoration: none; }
  61.  
  62. #boton {
  63.     float: left;
  64.     text-align: center;
  65.     padding: 5px;  
  66.     width: 15%;
  67.     transition-duration: 0.2s;
  68. }
  69.  
  70. #boton_r {
  71.     position: absolute;
  72.     bottom: 0px;
  73.     text-align: center;
  74.     padding: 5px;  
  75.     width: 15%;
  76. }
  77.  
  78. .cotizar {
  79.     background-color: transparent;
  80.     color: #FFF;
  81.     float: right;
  82.     text-align: center;
  83.     z-index: 1;
  84. }
  85.  
  86. .fondo {
  87.     background-color: red;
  88.     border-bottom-right-radius: 100px 80px;
  89.     margin: 0;
  90.     float: right;
  91. }
  92.  
  93. .tamano { height: 100%; width: 200px; }
  94. .trans { opacity: 0.5; }

Me es imposible dar con el código correcto para dejarlo como yo quiero...
  #2 (permalink)  
Antiguo 15/07/2014, 18:55
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

No entiendo por qué no se ve la imagen.. el link no está roto con lo cual si clicais con el botón derecho y poneis que la abra en una nueva ventana, vereis la imagen.

Perdonad!!
  #3 (permalink)  
Antiguo 15/07/2014, 20:38
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 9 meses
Puntos: 306
Respuesta: Problema con cajas flotantes

No entiendo porque flotas el fondo, y no lo posiciona en forma absoluta.
Código CSS:
Ver original
  1. .fondo {
  2.     background-color: red;
  3.     border-bottom-right-radius: 100px 80px;
  4.     position:absolute;
  5.     right:0;  
  6. }
http://jsfiddle.net/c2am/9aKv4/4/embedded/result/
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #4 (permalink)  
Antiguo 15/07/2014, 20:42
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por C2am Ver Mensaje
No entiendo porque flotas el fondo, y no lo posiciona en forma absoluta.
Código CSS:
Ver original
  1. .fondo {
  2.     background-color: red;
  3.     border-bottom-right-radius: 100px 80px;
  4.     position:absolute;
  5.     right:0;  
  6. }
[url]http://jsfiddle.net/c2am/9aKv4/4/embedded/result/[/url]
Pues pq si lo hago de forma absoluta le tengo que especificar la posición en que la quiero (left, top) y no me interesa pq quiero que se mantenga su posición si se hace un redimensionamiento de pantalla o bien una resolución mas chica...

Me equivoco?

AÑADIDO: lo acabo de probar y se me pone al principio de la barra de menú, tiene que aparecer al final, por eso le puse que flotara a la derecha.

Última edición por Triby2; 15/07/2014 a las 20:50 Razón: Probado resultado negativo de posible solución.
  #5 (permalink)  
Antiguo 15/07/2014, 20:54
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 9 meses
Puntos: 306
Respuesta: Problema con cajas flotantes

Entiendo, ¿y si pones ese fondo directamente en el div contenedor de la palabra Presupuesto?
¿por qué lo separas?
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #6 (permalink)  
Antiguo 15/07/2014, 21:16
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por C2am Ver Mensaje
Entiendo, ¿y si pones ese fondo directamente en el div contenedor de la palabra Presupuesto?
¿por qué lo separas?
Lo separo para que la propiedad de opacidad de la clase "trans" no afecte al texto. Si lo hago como tu dices, el texto hereda la opacidad, de esta forma mantiene la opacidad el texto sobre fondo transparente.

Eso mismo lo tengo hecho en otra web, pero aquí no consigo que funcione al haber tantas etiqutas dentro de la etiqueta "menu".
  #7 (permalink)  
Antiguo 15/07/2014, 22:09
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

Lo que jsfiddle muestra:


Ok, no había visto que le habías añadido la posición 0 a right. Me queda bien, ya conseguí poner la palabra donde quería, el problema ahora que no entiendo por que hereda la opacidad si la etiqueta que la tiene asignada es diferente.

Como aquí: http://rctorr.wordpress.com/2011/12/29/texto-opaco-sobre-fondo-semi-transparente-con-css/
  #8 (permalink)  
Antiguo 16/07/2014, 00:02
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Problema con cajas flotantes

Bienvenido al foro.

Cita:
Iniciado por Triby2 Ver Mensaje
Lo separo para que la propiedad de opacidad de la clase "trans" no afecte al texto. Si lo hago como tu dices, el texto hereda la opacidad, de esta forma mantiene la opacidad el texto sobre fondo transparente.
Si es para un color de fondo puedes obviar el uso de opacity en favor de rgba() o hsla(). Ambas funciones tienen un canal de transparencia.

Código CSS:
Ver original
  1. div.cotizar.tamano {
  2.   background-color: rgba(255,0,0,0.5);
  3. }

Así simplemente tienes un elemento con un color de fondo transparente.

Ya no tiene que ver con tu problema, pero no estaría mal que no usaras identificadores de forma repetitiva, ya que sólo debería de haber un único identificador. Si necesitas usarlo varias veces entonces debes de usar clases. Y por cuestión de semántica, usar una lista ul para el menú, ya que es una lista de enlaces lo que tienes ahí.


Última edición por pzin; 16/07/2014 a las 18:20 Razón: Cambiar coma por punto
  #9 (permalink)  
Antiguo 16/07/2014, 00:36
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por pzin Ver Mensaje
Así simplemente tienes un elemento con un color de fondo transparente.
Wow!!! como se complica la peña por ahi para hacer eso mismo (que es como lo estaba haciendo yo) me he ahorrado unas cuantas lineas de código en html y css.

Cita:
Iniciado por pzin Ver Mensaje
Ya no tiene que ver con tu problema, pero no estaría mal que no usaras identificadores de forma repetitiva, ya que sólo debería de haber un único identificador. Si necesitas usarlo varias veces entonces debes de usar clases. Y por cuestión de semántica, usar una lista ul para el menú, ya que es una lista de enlaces lo que tienes ahí.
Disculpame pero me he perdido!! ¿usar identificadores de forma repetitiva? Aún no sé usar clases en css... Bueno.. ahora que caigo.. ¿por clases te refieres al parámetro class=""? Que diferencia hay entre ponerlos en id o en class?

Última edición por Triby2; 16/07/2014 a las 00:39 Razón: He caído en la cuenta tarde...
  #10 (permalink)  
Antiguo 16/07/2014, 00:58
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por Triby2 Ver Mensaje
Que diferencia hay entre ponerlos en id o en class?
Un identificador es un elemento único y no puede repetirse en el HTML. Una clase en cambio si. Por lo que tus id="boton" deberían de ser class="boton".
  #11 (permalink)  
Antiguo 16/07/2014, 01:16
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por pzin Ver Mensaje
Un identificador es un elemento único y no puede repetirse en el HTML. Una clase en cambio si. Por lo que tus id="boton" deberían de ser class="boton".
Ok...

Ahora supongamos que cada botón tiene un color de fondo distinto.

Como lo harías tú? ya que si no me lo dices yo haría
Código HTML:
Ver original
  1. <div id="boton" class="blanco"></div>
  2. <div id="boton" class="rojo"></div>
  3. <div id="boton" class="azul"></div>
  4. <div id="boton" class="amarillo"></div>
  5. <div id="boton" class="violeta"></div>
Cuando aprendí a utilizar CSS es como entendí que se debían de utilizar pero obviamente si es incorrecto quisiera saber cómo hacerlo de manera correcta ya que para mi el identificado es, llamemoslo objeto, con el que trabajo con lo cual tiene unas características para tal fin y después hay variantes en este caso en color de fondo y utilizaría las clases pues para diferenciar cada uno. Eso es como lo planteo yo cuando diseño pero desearía saber como lo planteas tú.
  #12 (permalink)  
Antiguo 16/07/2014, 01:18
 
Fecha de Ingreso: julio-2010
Ubicación: A Coruña
Mensajes: 505
Antigüedad: 14 años, 3 meses
Puntos: 60
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por pzin Ver Mensaje
Un identificador es un elemento único y no puede repetirse en el HTML. Una clase en cambio si. Por lo que tus id="boton" deberían de ser class="boton".
Bueno, es casi cierto, pero no del todo.

Un ID si que puede repetirse en el HTML. Y por "si que puede" me refiero a que puedes meter cinco ids con el mismo nombre y aplicarles estilo como si fueran una clase, que su funcionamiento va a seguir siendo funcional en una web sencilla y va a actuar igual que una clase, y no por repetirse no va a cojer los estilos que se le apliquen... otra cosa distinta es que se deba usar de esa forma, que no se debe, ya que para eso están las clases
__________________
http://zeromm.es/
Diseñador Web | Experto en Responsive Design, CSS3 y Optimización Web.
  #13 (permalink)  
Antiguo 16/07/2014, 01:23
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por Triby2 Ver Mensaje
Ahora supongamos que cada botón tiene un color de fondo distinto.
Puedes poner tantas clases a un elemento como necesites:

Código HTML:
Ver original
  1. <div class="boton blanco"></div>
  2. <div class="boton rojo"></div>
  3. <div class="boton azul"></div>
  4. <div class="boton amarillo"></div>
  5. <div class="boton violeta"></div>
  #14 (permalink)  
Antiguo 16/07/2014, 01:34
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

Ok, perfecto! Así lo haré! Mi gran duda es la siguiente:

¿Para qué sirve entonces ponerle un "id" a los elementos?
  #15 (permalink)  
Antiguo 16/07/2014, 06:31
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Problema con cajas flotantes

Cita:
Iniciado por Triby2 Ver Mensaje
¿Para qué sirve entonces ponerle un "id" a los elementos
Para IDentificarlos.

http://librosweb.es/css/capitulo_13/...sobre_css.html
  #16 (permalink)  
Antiguo 16/07/2014, 08:33
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 4 meses
Puntos: 30
Respuesta: Problema con cajas flotantes

Ok, lo estudiaré y lo implementaré a mis diseños. Grácias por el aporte.

Etiquetas: background, cajas, color, flotantes, html, width
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:30.