Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysrodkowane menu
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
yavaho
Stona bedzie dopasowywana na 100% rozdzielczosci monitora.
Chce na niej umiescic wysrodkowane menu w poziomie tak jak w tym przykladzie: menu1 ale z elementami graficznymi w tle jak w tym przykladzie: menu2
Problem polega na tym ze pierwszym przykladzie zastosowany jest styl display: inline; - parametr ten stosuje sie do elementow liniowych i FF nie potrafi wyswietlic grafiki w pełnych wymiarach - ogranicza sie do wyswietlenia tylko tej czesci grafiki ktora jest za tekstem.
W drugim przykladzie sa elementy blokowe z zastosowanym stylem float:left; - tylko ze nie umiem wysrodkowac tego na stronie.
pawel_k
jedyne co mi przychodzi na mysl to mniej wiecej cos takiego:
  1. <div style="margin-left:auto; margin-right:auto;width: 140px;">
  2. <div style="background-image:url(); float:left; width:70px;">aa</div>
  3. <div style="background-image:url(); float:left; width:70px;">aa</div>
  4. </div>

pewnie w IE nie zadziala ale to inna sprawa..
revyag
Cytat(yavaho @ 2005-08-26 20:39:47)
Problem polega na tym ze pierwszym przykladzie zastosowany jest styl display: inline; - parametr ten stosuje sie do elementow liniowych.

Mieszasz snitch.gif
display:inline służy do nadania elementowi np. blokowemu własności elementów liniowych.
Stwierdzenie że ten parametr stosuje się do elementów liniowych to masło maślane snitch.gif
yavaho
Cytat(revyag @ 2005-08-29 09:22:00)
display:inline służy do nadania elementowi np. blokowemu własności elementów liniowych.

cytat: z innego postu z identycznym problemem
Cytat
Masz element blokowy i nadajesz mu własność display:inline. Traci on wtedy właściwości elementu blokowego (szerokość, wysokość) .

Czyli mam rozumiec ze display:inline służy do przeksztaucenia elementu blokowego w element liniowy? a nie do wymuszonego ulozenia elementow w jednej lini? Tylko po co DIV'owi nadawac wlsnosci elementu SPAN, jezeli mozna po prostu zamiast DIV napisac SPAN.
Ciagnac ten temat dojdziemy do wniosku ze kazda przegladarka ma i tak inne rozumowanie standadow niz nam sie to wydaje.
revyag
Cytat
Czyli mam rozumiec ze display:inline służy do przeksztaucenia elementu blokowego w element liniowy? a nie do wymuszonego ulozenia elementow w jednej lini?

Tak smile.gif
Żeby umieścić divy w jednej linii używasz float, albo position:absolute.
Cytat
Tylko po co DIV'owi nadawac wlsnosci elementu SPAN, jezeli mozna po prostu zamiast DIV napisac SPAN.

No właśnie po co ? Sam sobie odpowiedziałeś. smile.gif
Cytat
Ciagnac ten temat dojdziemy do wniosku ze kazda przegladarka ma i tak inne rozumowanie standadow niz nam sie to wydaje

Nie wiem co to ma wspólnego z tym tematem snitch.gif
yavaho
Cytat(revyag @ 2005-08-29 10:20:46)
Żeby umieścić divy w jednej linii używasz float, albo position:absolute.
Z tym sie nie zgodze - biorac pod uwage to jak to jest okreslone w specyfikacji CSS2.
Poslugujac sie tymi stylami oczywiscie mozna ulozyc elementy w jednej linii.
Ale float okresla tylko z ktorej strony nalezy oblac element blokowy innymi elementami - wysrodkowanie na stronie w takim przypadku odpada, bo elementy beda tylko po prawej lub po lewej stronie.
A bsolute nie bierze pod uwage sasiednich elementow tylko z gory okreslone dokladnie wyliczone pozycje na stronie.
revyag
A w jaki sposób chciałeś poprzez display:inline wyśrodkować divy na stronie questionmark.gif Umieścić w innym kontenerze i wyśrodkować kontener ? Tak samo robisz dla float.
Chyba łatwiej jest wyśrodkować jeden kontener który zawiera wszystkie elementy na stronie, niż każdy kawałek osobno.
Jak działa absolute wiem. Podałem dwa sposoby na ułożenie divów obok siebie. Tylko o to chodziło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.