Problem med att gömma/visa divar CSS

Permalänk
Medlem

Problem med att gömma/visa divar CSS

Lyckas inte riktigt targeta mina divar som jag vill och hittar inte riktigt felet.
Bygger en meny där en sökruta "div" ska dyka upp vid ett klick men får det inte att fungera.
Har provat flera olika sätt att targeta med utan vidare resultat

Skulle uppskatta om någon vänlig själ kan vägleda mig till en lösning

!OBS! Vill inte använda javascript..

Så här ser koden ut nu..

/*Länkknappen och dess CSS kod*/ <a class="search" href="#">Sök</a> .search:focus ~ .search-box { display: block; } /* Diven som ska visas */ <div class="search-box"></div> /* Divens CSS kod */ .search-box { display: none; width: 100%; height: 80px; margin: 0px auto; background: #c9c9c9; }

Plockar jag väck display: none; på search-box så syns den

Permalänk
Medlem

Först och främst måste elementet du vill visa vid hover (varför fokus?) ligga INNANFÖR det elementet du hovrar på. Annars måste du nog använda javascript/jquery

Om jag uppfattade allt rätt så är det något sådant du ville göra...
http://jsfiddle.net/omrh5zpg/

Varför använda "<a>" om du inte tänkt länka något?

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Först och främst måste elementet du vill visa vid hover (varför fokus?) ligga INNANFÖR det elementet du hovrar på. Annars måste du nog använda javascript/jquery

Om jag uppfattade allt rätt så är det något sådant du ville göra...
http://jsfiddle.net/omrh5zpg/

Varför använda "<a>" om du inte tänkt länka något?

Vill inte att det ska synas vid hover, utan vid ett klick.
Har försökt googla mig till en lösning men blir inte riktigt klok på detta.

Att diven jag vill dölja/visa ska behöva vara en child tror jag inte ska vara nödvändigt.
Däremot mitt sätt att targeta den på bör nog ändras en aning

.search:focus ~ .search-box { display: block; }

Permalänk
Medlem
Skrivet av Bosnic:

Vill inte att det ska synas vid hover, utan vid ett klick.
Har försökt googla mig till en lösning men blir inte riktigt klok på detta.

Att diven jag vill dölja/visa ska behöva vara en child tror jag inte ska vara nödvändigt.
Däremot mitt sätt att targeta den på bör nog ändras en aning

.search:focus ~ .search-box { display: block; }

Ditt sätt fungerar ju annars...
http://jsfiddle.net/omrh5zpg/1/

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Ditt sätt fungerar ju annars...
http://jsfiddle.net/omrh5zpg/1/

Misstänkte nästan det :/ Blir till att felsöka koden..

Permalänk
Medlem
Skrivet av Bosnic:

Misstänkte nästan det :/ Blir till att felsöka koden..

Det är ju inget fel?
Testar din kod rakt av och den fungerar.

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem

Ja men tyvärr så funkar den inte av någon anledning. Det var främsta anledningen till att jag gjorde ett inlägg här ^^

Permalänk
Medlem
Skrivet av Bosnic:

Ja men tyvärr så funkar den inte av någon anledning. Det var främsta anledningen till att jag gjorde ett inlägg här ^^

Då är det nog det felet jag nämnde först.
Elementen måste ligga inom samma kontainer, samma "nivå". Annars måste du gå över till javascript.

Gör jag så här slutar det fungera.

<div> <a class="search" href="#">Sök</a> </div> <div class="search-box">test</div>

Visa signatur

Canon 70D | 2x Dell Ultrasharp 24" | Ryzen 3700X | 32B | GTX 1080Ti

Permalänk
Medlem
Skrivet av Florrpan:

Då är det nog det felet jag nämnde först.
Elementen måste ligga inom samma kontainer, samma "nivå". Annars måste du gå över till javascript.

Gör jag så här slutar det fungera.

<div> <a class="search" href="#">Sök</a> </div> <div class="search-box">test</div>

Ja då ligger mitt problem där, har ett eget ramverk vilket jag helst inte vill börja modda/pilla sönder för speciallösningar så får nog bli javascript.

Men tack för hjälpen att identifiera problemet