Foros del Web » Creando para Internet » CSS »

Dudas sobre Flexbox, problemas para centrar una imagen y otras consulas

Estas en el tema de Dudas sobre Flexbox, problemas para centrar una imagen y otras consulas en el foro de CSS en Foros del Web. Como están? bueno estoy comenzando a utilizar flexbox y estoy haciendo algo muy simple que me ayude a utilizar distintos usos de flexbox. Antes que ...
  #1 (permalink)  
Antiguo 03/05/2015, 21:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 85
Antigüedad: 15 años, 6 meses
Puntos: 0
Dudas sobre Flexbox, problemas para centrar una imagen y otras consulas

Como están? bueno estoy comenzando a utilizar flexbox y estoy haciendo algo muy simple que me ayude a utilizar distintos usos de flexbox.

Antes que nada por favor no miren los colores ni nada por el estilo tengo colores horribles pero que me ayudan a guiarme sobre como quedan las cosas!

Vamos por partes, la primer duda!

Puedo usar Flexbox dentro de Flexbox? o mejor dicho está bien hacerlo? ya que he visto en mis pruebas que puedo pero no se si es correcto o no hacerlo.

Explico el porqué yo tengo un contenedor principal que tiene distintas secciones
por ej.
Código HTML:
Ver original
  1. <main>
  2.     <header>
  3.         <figure></figure>
  4.         <nav></nav>
  5.         <form></form>
  6.     </header>
  7.  
  8.     <section>
  9.         <article></article>
  10.         <aside></aside>
  11.     </section>
  12.  
  13.     <section>
  14.         <nav></nav>
  15.         <article></article>
  16.         <article></article>
  17.         <article></article>
  18.     </section>
  19.  
  20.     <footer></footer>
  21. </main>

Ahora bien, yo le doy display flex al main, pero eso me ayuda a manejar todos los hijos directos. es decir en el caso presentado arriba, sería el "header", "section", "section" y "footer"

Pero los hijos de las respectivas 4 secciones presentadas tienen a su vez otros hijos en el caso del header tiene el figure el nav y el form, bueno entonces aquí reside la duda para manejar esos items debo darle la propiedad flex al header, es decir para poder controlar con las propiedades de flexbox todos los hijos de cada sección debo brindar la propiedad flex al padre de cada sección verdad? y aquí la duda planteada al comienzo esto es correcto en la práctica?

por otro lado tengo un problema bastante estupido tengo en la sección header, dentro del figure una imagen la cual quiero reducir al 50% para que en dispositivos retina se vea bien.

Para hacer esto lo que hago es a la imagen en si misma darle un width del 50% pero cuando la imagen se achica el contenedor Figure sigue ocupando el tamaño total de la imagen pero la imagen se encogió por lo tanto no está centrada en la vista.

Voy a poner todas la imagen para explicar mis dudas y luego abajo pongo el código



Y la otra duda aprovechando la imagen ese pequeño formulario con 2 inputs sin el boton submite me gustaría saber como puedo hacer para que se vea uno debajo del otro pero sin utilizar <br> en el código html hay alguna forma de hacerlo directamente en el css?

Código HTML:
Ver original
  1. <main class="container">
  2.  
  3. <header class="header">
  4.     <figure class="header__logo">
  5.         <img class="header__logo__img" src="../imgs/logo_big.jpg" alt="Servicio Técnico">
  6.     </figure>
  7.     <nav class="header__menu">
  8.         <ul>
  9.             <li>Donde Estamos?</li>
  10.             <li>Contacto</li>
  11.             <li>Facebook</li>
  12.         </ul>
  13.     </nav>
  14.     <form action="" class="header__form">
  15.         <label for="orden">Orden:</label><input type="text" value="orden">
  16.         <br />
  17.         <label for="codigo">Código:</label><input type="text" value="codigo">
  18.     </form>
  19.  
  20. <section class="main_section">
  21.     <article class="cuyotek">
  22.         <h1 class="cuyotek__h1">Servicio Técnico</h1>
  23.         <p class="cuyotek__p">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
  24.         tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
  25.         quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
  26.         consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
  27.         cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
  28.         proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
  29.     </article>
  30.     <aside class="cuyotek__aside">
  31.         IMAGEN
  32.     </aside>
  33.  
  34. <section class="services">
  35.     <nav class="services__nav">
  36.         <ul>
  37.             <li>GAMES</li>
  38.             <li>PHONES</li>
  39.             <li>COMPUTERS</li>
  40.         </ul>
  41.     </nav>
  42.     <article class="services__article">
  43.         <h2 class="services__h2">GAMES</h2>
  44.         <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maiores dignissimos delectus earum iure reprehenderit doloremque quaerat laudantium corporis explicabo officiis nihil debitis repellendus enim et, ipsam perferendis, minima. Temporibus, adipisci.</p>
  45.     </article>
  46.     <article class="services__article">
  47.         <h2 class="services__h2">PHONES</h2>
  48.         <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maiores dignissimos delectus earum iure reprehenderit doloremque quaerat laudantium corporis explicabo officiis nihil debitis repellendus enim et, ipsam perferendis, minima. Temporibus, adipisci.</p>
  49.     </article>
  50.     <article class="services__article">
  51.         <h2 class="sservices__h2">COMPUTERS</h2>
  52.         <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maiores dignissimos delectus earum iure reprehenderit doloremque quaerat laudantium corporis explicabo officiis nihil debitis repellendus enim et, ipsam perferendis, minima. Temporibus, adipisci.</p>
  53.     </article>
  54.  
  55. <footer class="footer">
  56.     Pie de Página
  57.        
  58. </main>
  59. </body>

Código CSS:
Ver original
  1. ul, li, figure {
  2.   margin: 0;
  3.   padding: 0; }
  4.  
  5. li {
  6.   background-color: pink;
  7.   display: inline-block;
  8.   list-style-type: none;
  9.   padding: .5em; }
  10.  
  11. .container {
  12.   background-color: olive;
  13.   max-width: 57rem;
  14.   padding: 0.4em;
  15.   display: -webkit-box;
  16.   display: -webkit-flex;
  17.   display: -moz-flex;
  18.   display: -ms-flexbox;
  19.   display: flex;
  20.   flex-direction: column; }
  21.  
  22. .header {
  23.   background-color: peru;
  24.   padding: 0.4em;
  25.   display: -webkit-box;
  26.   display: -webkit-flex;
  27.   display: -moz-flex;
  28.   display: -ms-flexbox;
  29.   display: flex;
  30.   flex-direction: column; }
  31.  
  32. .header__logo {
  33.   align-self: center; }
  34.  
  35. .header__logo__img {
  36.   width: 50%; }
  37.  
  38. .header__menu {
  39.   align-self: flex-end; }
  40.  
  41. .header__form {
  42.   align-self: flex-end; }
  43.  
  44. .main_section {
  45.   background-color: red;
  46.   padding: 0.4em; }
  47.  
  48. .services {
  49.   background-color: blue;
  50.   padding: 0.4em; }

Desde ya muchas gracias por su ayuda!!!

Etiquetas: background, color, dudas, html, página, todo, 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 10:59.