• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

css - dziwna przestrzeń w opcjach menu

Object Storage Arubacloud
0 głosów
313 wizyt
pytanie zadane 8 października 2016 w HTML i CSS przez Pieczenieg Początkujący (290 p.)
No cześć :) Po krótce, sprawa wygląda tak, że piszę projekt księgarni internetowej do szkoły i wszystko idzie całkiem całkiem, poza tym jednym małym mankamentem. Zrobiłem sobie fajne menu, dopisałem hovery do każdej z opcji, ale kiedy najadę na daną opcję, to zawsze (z wyjątkiem pierwszej opcji) pozostaje mały prostokątny obszar, który się nie podświetla, jest traktowany jakby nie był częścią tej opcji. Nie wiem czy dobrze to opisałem, nie wiem też jak to inaczej opisać, więc wrzucam kod:

http://codepen.io/anon/pen/KgQOGB

Kombinowałem, ale za cholerę nie mogłem do tego dojść ;/ Próbowałem zrobić to menu w inny sposób, za pomocą display block i float left, dodać kolejnego diva w którym te opcje będą siedzieć i zrobić dla niego auto marginesy, tylko problem polega na tym, że ten div musiałby mieć ustaloną szerokość, a dla zalogowanego użytkownika dochodzą nowe opcje w menu. Z góry dziękuję za pomoc, a jak namodziłem to przepraszam ;p
komentarz 8 października 2016 przez Pieczenieg Początkujący (290 p.)
Dziękuję wszystkim za pomoc i przepraszam za ignorancję, następnym razem z pewnością użyję listy ;)

3 odpowiedzi

+2 głosów
odpowiedź 8 października 2016 przez niezalogowany
<span class = "option">
	<a href = "books.php">Książki papierowe</a>
</span>

<span class = "option">
	<a href = "ebooks.php">E-booki</a>
</span>

span to element liniowy. ^ Jeżeli pomiędzy tymi elementami wystąpią białe znaki ( w tym przypadku masz 2x \n ), zostanie to odzwierciedlone na stronie jako spacja, stąd to 'dziwne' puste pole.

Można rozwiązać to tak:

><span class = "option">
	<a href = "books.php">Książki papierowe</a>
</span
  
><span class = "option">
	<a href = "ebooks.php">E-booki</a>
</span>

lub dodać do CSSa odpowiedni ujemny margin

+2 głosów
odpowiedź 8 października 2016 przez winiardesign Gaduła (3,930 p.)

Tak jak kolega wyżej napisał, nie robi się menu z znaczników span tylko najlepiej z listy. Ale skoro sie uparłeś to ok. Element a jest wyświetlany jako liniowy, co za tym idzie jak ustawisz tło to będzie ono opływało tylko napis, który tam umieściłeś. Po drugie elementy listy span umieść w dodatkowym divie, dzięki czemu będziesz mógł nadać mu wyświetlanie inline-block, i wyśrodkować go względem strony. Po trzecie źle podomykałeś divy. Masz kod który ci lekko zmodyfikowałem.

<div id = "menu">
			<div class="menu1">
				<span class = "option" id = "prawy">
	<a href = "index.php">Strona główna</a>
</span>

<span class = "option">
	<a href = "books.php">Książki papierowe</a>
</span>

<span class = "option">
	<a href = "ebooks.php">E-booki</a>
</span>

<span class = "option">
	<a href = "audiobooks.php">Audiobooki</a>
</span>

<span class = "option">
	Kontakt
</span>
</div>
  <div class = "clear"></div>

</div>
		</div>
	

Kod CSS


.option
{

  vertical-align: center;
	float:left;
	border-right:white dotted 1px;
	padding:5px;
	padding-top:10px;
	text-align:center;
	height:44px;
}

.option a {
  display:block;
  width:100%;
}

.option a:hover {
 display: block;
}
.option:hover
{
	background-color:red;
	color:black;
	opacity:0.5;
	cursor:pointer;
}

#menu
{
	background-color:black;
	color:white;
	font-size:20px;
	letter-spacing:2px;
	height:44px;
	text-align:center;
	display: block;
}

#prawy
{
	border-left:white dotted 1px;
	
}
a
{
  color:inherit;
  text-decoration:none;
}
.menu1 {
  display:inline-block;
  text-align:center;
}

 

+1 głos
odpowiedź 8 października 2016 przez Kamil Naja Nałogowiec (27,410 p.)
Menu jest spartolone, nigdy nie robi się go z elementów span, zawsze z listy. Problem pojawia się pewnie z powodu paddingu.
komentarz 8 października 2016 przez Pieczenieg Początkujący (290 p.)
Dlaczego? Dla mnie wygodniej było użyć spanów, jeśli jest jakiś znaczący powód, dla którego powinno się wybierać listę, proszę podziel się nim :) "Pewnie z powodu paddingu" - czyżbyś próbował rozwiązać problem, nawet mu się nie przyglądając? Poszedłem tym tropem i usunąłem cały padding z klasy option, ale problem nadal pozostaje :(
1
komentarz 8 października 2016 przez Kamil Naja Nałogowiec (27,410 p.)

Podobne pytania

0 głosów
1 odpowiedź 190 wizyt
pytanie zadane 28 grudnia 2016 w HTML i CSS przez kubekzone Użytkownik (620 p.)
0 głosów
1 odpowiedź 598 wizyt
pytanie zadane 2 stycznia 2019 w HTML i CSS przez Strugaczka Początkujący (260 p.)
0 głosów
0 odpowiedzi 226 wizyt
pytanie zadane 23 października 2017 w HTML i CSS przez lastavenger Obywatel (1,060 p.)

92,552 zapytań

141,399 odpowiedzi

319,533 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...