texto ocultar mostrar ejemplos div con boton css list css3 hide show

ejemplos - Ocultar Mostrar lista de contenido con solo CSS, no se utiliza javascript



ocultar div html5 (10)

Esto es lo que he usado recientemente.

CSS

div#tabs p{display:none;} div#tabs p.tab1:target {display:block;} div#tabs p.tab2:target {display:block;} div#tabs p.tab3:target {display:block;}

HTML

<div id=''tabs''> <h2 class="nav-tab-wrapper"> <a href="#tab1" class="nav-tab tab1">Pages</a> <a href="#tab2" class="nav-tab nav-tab-active tab2">Email</a> <a href="#tab3" class="nav-tab tab3">Support</a> </h2> <p id=''tab1'' class=''tab1''>Awesome tab1 stuff</p> <p id=''tab2'' class=''tab2''>Tab2 stuff</p> <p id=''tab3'' class=''tab3''>Tab3 stuff</p> </div>

https://jsfiddle.net/hoq0djwc/1/

Espero que ayude en alguna parte.

He estado buscando un buen truco para hacer un contenido de Ocultar / Mostrar o una lista con solo CSS y sin JavaScript. He logrado hacer esta acción:

<!DOCTYPE html> <head> <style> #cont {display: none; } .show:focus + .hide {display: inline; } .show:focus + .hide + #cont {display: block;} </style> </head> <body> <div> <a href="#show"class="show">[Show]</a> <a href="#hide"class="hide">/ [Hide]</a> <div id="cont">Content</div> </div> </body> </html>

Demostración aquí: http://jsfiddle.net/6W7XD/ Y está funcionando pero no como debería. Aquí está el problema: cuando se muestra el contenido, puede ocultarlo haciendo clic en "en cualquier lugar de la página". ¿Cómo deshabilitar eso? ¿Cómo ocultar el contenido "solo" haciendo clic en ocultar? ¡Gracias de antemano!


Esto va a volar tu mente: botones de radio ocultos .

HTML:

<label for="show"> <span>[Show]</span> </label> <input type=radio id="show" name="group"> <label for="hide"> <span>[Hide]</span> </label> <input type=radio id="hide" name="group"> <span id="content">Content</span>

Y CSS:

input#show, input#hide { display:none; } span#content { display:none; } input#show:checked ~ span#content { display:block; } input#hide:checked ~ span#content { display:none; }


La respuesta a continuación incluye cambiar el texto para "mostrar / ocultar", y utiliza una sola casilla de verificación, dos etiquetas, un total de cuatro líneas de html y cinco líneas de css. También comienza con el contenido oculto.

Pruébalo en JSFiddle

HTML

<input id="display-toggle" type=checkbox> <label id="display-button" for="display-toggle"><span>Display Content</span></label> <label id="hide-button" for="display-toggle"><span>Hide Content</span></label> <div id="hidden-content"><br />Hidden Content</div>

CSS

label { background-color: #ccc; color: brown; padding: 15px; text-decoration: none; font-size: 16px; border: 2px solid brown; border-radius: 5px; display: block; width: 200px; text-align: center; } input, label#hide-button, #hidden-content { display: none; } input#display-toggle:checked ~ label#display-button { display: none; } input#display-toggle:checked ~ label#hide-button { display: block; background-color: #aaa; color: #333 } input#display-toggle:checked ~ #hidden-content { display: block; }


No usaría casillas de verificación, usaría el código que ya tiene

DEMO http://jsfiddle.net/6W7XD/1/

CSS

body { display: block; } .span3:focus ~ .alert { display: none; } .span2:focus ~ .alert { display: block; } .alert{display:none;}

HTML

<span class="span3">Hide Me</span> <span class="span2">Show Me</span> <p class="alert" >Some alarming information here</p>

De esta manera, el texto solo se oculta al hacer clic en el elemento oculto


Primero, gracias a William.

Segundo - Necesitaba una versión dinámica. ¡Y funciona!

Un ejemplo:

CSS:

p[id^="detailView-"] { display: none; } p[id^="detailView-"]:target { display: block; }

HTML:

<a href="#detailView-1">Show View1</a> <p id="detailView-1">View1</p> <a href="#detailView-2">Show View2</a> <p id="detailView-2">View2</p>


Sé que es una publicación antigua, pero ¿qué pasa con esta solución ( he creado un JSFiddle para ilustrarlo ) ... Solución que utiliza :after pseudo elementos de <span> para mostrar / ocultar el enlace del interruptor <span> sí mismo (en Además del mensaje .alert debe mostrar / ocultar). Cuando el seudo elemento pierde su enfoque, el mensaje se oculta.

La situación inicial es un mensaje oculto que aparece cuando <span> con :after content : "Show Me"; esta enfocado. Cuando este <span> está enfocado, es :after content se vacía, mientras que :after content del segundo <span> (que inicialmente estaba vacío) se convierte en "Hide Me" . Entonces, cuando haces clic en este segundo <span> el primero pierde su enfoque y la situación vuelve a su estado inicial.

Comencé con la solución ofrecida por @Vector. Mantuve la presentación de DOM presentada ky @ Frederic Kizar

HTML:

<span class="span3" tabindex="0"></span> <span class="span2" tabindex="0"></span> <p class="alert" >Some message to show here</p>

CSS:

body { display: inline-block; } .span3 ~ .span2:after{ content:""; } .span3:focus ~ .alert { display:block; } .span3:focus ~ .span2:after { content:"Hide Me"; } .span3:after { content: "Show Me"; } .span3:focus:after { content: ""; } .alert { display:none; }


Tengo otra solución simple:

HTML:

<a href="#alert" class="span3" tabindex="0">Hide Me</a> <a href="#" class="span2" tabindex="0">Show Me</a> <p id="alert" class="alert" >Some alarming information here</p>

CSS:

body { display: block; } p.alert:target { display: none; }

Fuente: http://css-tricks.com/off-canvas-menu-with-css-target/


Una solución muy fácil de cssportal.com

Si se presiona [show], el texto [show] se ocultará y viceversa.

Este ejemplo no funciona en Chrome, no sé por qué ...

.show { display: none; } .hide:focus + .show { display: inline; } .hide:focus { display: none; } .hide:focus ~ #list { display:none; } @media print { .hide, .show { display: none; } }

<div><a class="hide" href="#">[hide]</a> <a class="show" href="#">[show]</a> <ol id="list"> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ol> </div>


Utilicé una casilla de verificación oculta para ver persistentemente algún mensaje. La casilla de verificación podría estar oculta (mostrar: ninguna) o no. Este es un pequeño código que podría escribir.

Puedes ver y probar la demo en JSFiddle

HTML:

<input type=checkbox id="show"> <label for="show">Help?</label> <span id="content">Do you need some help?</span>

CSS:

#show,#content{display:none;} #show:checked~#content{display:block;}

Ejecutar fragmento de código:

#show,#content{display:none;} #show:checked~#content{display:block;}

<input id="show" type=checkbox> <label for="show">Click for Help</label> <span id="content">Do you need some help?</span>

JSFiddle


Hay 3 ejemplos rápidos con CSS puro y sin javascript donde el contenido aparece "al hacer clic", con un "clic mantenido" y un tercero "sobre la marcha" (todos solo probados en Chrome). Lo siento por la publicación de esta publicación, pero esta pregunta es el primer resultado de SEO y quizás mi contribución pueda ayudar a un principiante como yo.

Creo (no probado), pero la ventaja del argumento "contenido" es que puedes agregar un gran ícono como de Font Awesome (su / f-Code) o un ícono hexadecimal en lugar del texto "Ocultar" y "Mostrar" para internacionalizar el truco.

enlace de ejemplo http://jsfiddle.net/MonkeyTime/h3E9p/2/

<style> label { position: absolute; top:0; left:0} input#show, input#hide { display:none; } span#content { display: block; -webkit-transition: opacity 1s ease-out; transition: opacity 1s ease-out; opacity: 0; height: 0; font-size: 0; overflow: hidden; } input#show:checked ~ .show:before { content: "" } input#show:checked ~ .hide:before { content: "Hide" } input#hide:checked ~ .hide:before { content: "" } input#hide:checked ~ .show:before { content: "Show" } input#show:checked ~ span#content { opacity: 1; font-size: 100%; height: auto; } input#hide:checked ~ span#content { display: block; -webkit-transition: opacity 1s ease-out; transition: opacity 1s ease-out; opacity: 0; height: 0; font-size: 0; overflow: hidden; } </style> <input type="radio" id="show" name="group"> <input type="radio" id="hide" name="group" checked> <label for="hide" class="hide"></label> <label for="show" class="show"></label> <span id="content">Lorem iupsum dolor si amet</span> <style> #show1 { position: absolute; top:20px; left:0} #content1 { display: block; -webkit-transition: opacity 1s ease-out; transition: opacity 1s ease-out; opacity: 0; height: 0; font-size: 0; overflow: hidden; } #show1:before { content: "Show" } #show1:active.show1:before { content: "Hide" } #show1:active ~ span#content1 { opacity: 1; font-size: 100%; height: auto; } </style> <div id="show1" class="show1"></div> <span id="content1">Ipsum Lorem</span> <style> #show2 { position: absolute; top:40px; left:0} #content2 { display: block; -webkit-transition: opacity 1s ease-out; transition: opacity 1s ease-out; opacity: 0; height: 0; font-size: 0; overflow: hidden; } #show2:before { content: "Show" } #show2:hover.show2:before { content: "Hide" } #show2:hover ~ span#content2 { opacity: 1; font-size: 100%; height: auto; } /* extra */ #content, #content1, #content2 { float: left; margin: 100px auto; } </style> <div id="show2" class="show2"></div> <span id="content2">Lorem Ipsum</span>