transicion texto para mostrar imagenes ejemplos efectos div contenido botones bootstrap alto ajustar css resize click

para - mostrar texto hover css



Aumenta un tamaƱo de div al hacer clic con css solo (4)

Esto no se puede hacer con CSS, necesita escribir un par de líneas de JavaScript para archivar esto.

Si cambias de opinión para escribir algunos JS, aquí hay solo una solución:

<script> // Creating a script tag to write JS var sampleDiv = document.getElementById(''sample''); // Grabbing the sample id sampleDiv.addEventListener(''click'', function(e) { // When someone clicks on it sampleDiv.style.width = "200px"; // The width increases to 200px }; </script>

Quiero aumentar el ancho de mi div cuando hago clic en él. Quiero lograr esto solo con CSS. ¿Es posible? Lo hice aumentar de ancho mediante el vuelo estacionario, pero necesito que suceda el mismo efecto cuando hago clic en el div. Las sugerencias son apreciadas.

HTML

<div id="sample"></div>

CSS

#sample{ width:100px; height:100px; background:#000000; }

Quiero cambiar el ancho a 200px al hacer clic.


Si desea alternar el tamaño al hacer clic, puede colocar el div dentro de una label después de una input invisible:

label { display: inline-block; } label input { display: none; } input:checked ~ #sample { width: 150px; height: 150px; } #sample { width: 100px; height: 100px; background: #000000; }

<label> <input type="checkbox"> <div id="sample"></div> </label>


Siguiendo con la respuesta aceptada de Quantastical, si quieres que la altura se mantenga en el nuevo tamaño después de que el div pierda el foco, puedes hacerlo con un poco de engaño que involucra transiciones sin necesidad de JavaScript.

Como dijo Quantastical, primero dale a tu div un tabindex .

<div id="sample" tabindex="0"></div>

Tenga en cuenta que con un valor de 0 , se convertirá en el primer elemento enfocado al recorrer la página con el botón de tabulación de su teclado, por lo que es posible que desee aumentar el valor para enfocarlo en el orden correcto. Alternativamente, si no desea que se produzca el cambio cuando el foco se desplaza a div mediante tabulación, establezca el valor de tabindex en -1 .

El CSS es el siguiente:

#sample{ background:#000; height:100px; transition:height 0s 10000s; } #sample:focus{ height:200px; outline:0; transition:height 0s; }

El truco consiste en establecer una transition en el div desenfocado con una demora ridículamente alta para que nunca se ejecute.

Crédito


Una solución potencial sería agregar un atributo tabindex a div , de esta forma:

<div id="sample" tabindex="0"></div>

Ahora puede usar :focus su CSS:

#sample:focus { width: 200px; }

Aquí hay un jsFiddle para mostrarlo en acción.

Desafortunadamente, cuando el div es borroso, el ancho retrocederá. Actualización: echa un vistazo a Shaggy''s Answer para una solución inteligente para retener el efecto de foco.

Si necesita que el ancho permanezca después de que el div esté borroso, es probable que tenga que aventurarse en JavaScript / jQuery, o simplemente agregar un atributo onclick .

<div id="sample" onclick="this.style.width = ''200px'';"></div>