Autor Zpráva
robbie
Profil
Ahoj, potřeboval bych prosím pomoci s :hover položkou. Po najetí myši, pokud by šlo, aby se Hello world! napozicovalo přesně na střed stránky, už si s tím nevím rady, kde to nastavit. Zkoušel jsem position: absolute; left, right:..., margin: 0 auto, text-align: center, ale bez uspěchu. Děkuji moc

<style>
.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  padding: 12px 16px;
  z-index: 1;
}

.dropdown:hover .dropdown-content {
  display: block;
}
</style>

<div class="dropdown">
  <span>Mouse over me</span>
  <div class="dropdown-content">
    <p>Hello World!</p>
  </div>
</div>
RastyAmateur
Profil
robbie:
Živá ukázka
První možností by bylo u .dropdown odstranit tu position: relative, čímž by se ta absolutní pozice začala vztahovat k body, což je ale dle mého názoru špatný přístup. Další možnost by byla využít jednotky vw. A třetí možností (jak je viděno v ukázce) by bylo nastavit .dropdown na display: block, čímž se jeho šířka nastaví normálně na 100% stránky, .dropdown-content nastavit width: 100% (spolu s box-sizing) a je to. Jen vznikne docela průser, že se Hello world nezobrazí při najetí myší na text, ale při najetí myši i vedle textu, po celé té šířce. Prostě normální blokový element. To se dá ošetřit změnou selektoru na .dropdown span:hover ~ .dropdown-content

Pokud to bude opravdu jen takto, tak mě lepší řešení nenapadá. Pokud to bude například na více položek toho dropdownu, přičemž budou vedle sebe (neboli ten inline-block či nějaký float je nutný), musel bys pravděpodobně vytvořit ještě jednoho velkého rodiče a tomu nastavit tu relativní pozici

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0