una texto para hacer estilos ejemplos div como cajas caja bootstrap css css3 layout responsive-design aspect-ratio

css - texto - div id html



¿Cómo diseñar un div para que sea un cuadrado sensible? (6)

Es tan fácil como especificar un fondo de relleno del mismo tamaño que el ancho en porcentaje. Entonces, si tienes un ancho del 50%, solo usa este ejemplo a continuación

id or class{ width: 50%; padding-bottom: 50%; }

Aquí hay un jsfiddle http://jsfiddle.net/kJL3u/2/

Versión editada con texto sensible : http://jsfiddle.net/kJL3u/394

Esta pregunta ya tiene una respuesta aquí:

Quiero que mi div adapte su altura para que siempre sea igual a su ancho. El ancho es porcentual. Cuando el ancho de los padres disminuye, la caja debe disminuir manteniendo su relación de aspecto.

¿Cómo hacer esto es CSS?


Esto es lo que se me ocurrió. Aquí hay un violín .

Primero, necesito tres elementos de envoltura para una forma cuadrada y un texto centrado.

<div><div><div>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</div></div></div>

Esta es la hoja de estilo. Hace uso de dos técnicas, una para formas cuadradas y otra para texto centrado .

body > div { position:relative; height:0; width:50%; padding-bottom:50%; } body > div > div { position:absolute; top:0; height:100%; width:100%; display:table; border:1px solid #000; margin:1em; } body > div > div > div{ display:table-cell; vertical-align:middle; text-align:center; padding:1em; }


Funciona en casi todos los navegadores.

Puedes intentar dar padding-bottom como un porcentaje.

<div style="height:0;width:20%;padding-bottom:20%;background-color:red"> <div> Content goes here </div> </div>

El div externo está haciendo un cuadrado e interior div contiene el contenido. Esta solución funcionó para mí muchas veces.

Aquí hay un jsfiddle


HTML

<div class=''square-box''> <div class=''square-content''> <h3>test</h3> </div> </div>

CSS

.square-box{ position: relative; width: 50%; overflow: hidden; background: #4679BD; } .square-box:before{ content: ""; display: block; padding-top: 100%; } .square-content{ position: absolute; top: 0; left: 0; bottom: 0; right: 0; color: white; text-align: center; }

http://jsfiddle.net/38Tnx/1425/


Otra forma es usar un 1x1.png transparente con width: 100% , height: auto en un div y contenido absolutamente posicionado dentro de él:

html:

<div> <img src="1x1px.png"> <h1>FOO</h1> </div>

css:

div { position: relative; width: 50%; } img { width: 100%; height: auto; } h1 { position: absolute; top: 10px; left: 10px; }

Fidle: http://jsfiddle.net/t529bjwc/


Para lograr lo que está buscando, puede usar la longitud de porcentaje de ventana vw .

Aquí hay un ejemplo rápido que hice en jsfiddle .

HTML:

<div class="square"> <h1>This is a Square</h1> </div>

CSS:

.square { background: #000; width: 50vw; height: 50vw; } .square h1 { color: #fff; }

Estoy seguro de que hay muchas otras formas de hacerlo, pero esta vez me pareció lo mejor.