Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 12035|Svar: 0

[CSS/DIV] Løser perfekt CSS-side-horisontal centrering

[Kopier link]
Opslået på 15/10/2014 21.50.33 | | |

En almindelig CSS-metode til at centrere elementer horisontalt

At centrere elementer med CSS er ikke en triviel sag – de samme legitime CSS-centreringsindstillinger opfører sig forskelligt i forskellige browsere. Lad os starte med at se på nogle almindelige måder at centrere elementer horisontalt i CSS på.

1. Centrering med automatiske margener

Den foretrukne måde at centrere elementer horisontalt i CSS på er at bruge margin-egenskaben—sæt blot margin-venstre og margin-højre egenskaberne til auto. I praksis kan vi skabe en container-div til disse elementer, der skal centreres. En ting at bemærke er, at containerens bredde skal angives:

div#container{ margin-left:auto; margin-højre:auto; bredde: 168px; }

Denne tilgang fungerer meget godt i de fleste større browsere, selv IE6 på Windows kan vises korrekt i sin standard compliance-tilstand. Desværre opnår denne indstilling ikke en centrerende effekt i lavere versioner af IE. Så hvis du vil bruge denne metode i et rigtigt projekt, så sørg for, at brugerens IE-browserversion ikke er lavere end 6.0.

På trods af manglende støtte anbefaler de fleste designere at bruge denne tilgang så meget som muligt. Denne metode anses også for at være den mest korrekte og rimelige af alle metoder til at implementere elementniveaucentrering med CSS.

2. Brug tekstjustering for at opnå centrering

En anden måde at opnå elementcentrering på er at bruge tekst-justeringsegenskaben, sætte værdien af egenskaben til centrering og anvende den på kropselementet. Det er et hack hele vejen igennem, men det er kompatibelt med de fleste browsere, så det er naturligt essentielt i nogle tilfælde.

Det kaldes et hack, fordi denne metode ikke anvender tekstegenskaber på teksten, men på elementet, der er beholderen. Det giver os også ekstra arbejde. Efter at have oprettet de nødvendige divs til layoutet, skal vi anvende tekst-justeringsegenskaben på brødteksten i henhold til følgende kode:

body{ text-align:center; }

Vil der være problemer bagefter? Alle efterkommere af kroppen er centreret.

Derfor skal vi skrive en anden regel for at returnere teksten til standard venstrehåndsjustering:

p{ text-align:left; }

Det er tænkeligt, at denne ekstra regel vil medføre en vis ulejlighed. Desuden ændrer en browser, der virkelig følger standarden, ikke containerens position, men centrerer kun teksten i den.

3. Brug en kombination af automatisk margenjustering og tekstjustering

Fordi tekstjusteringscentreringsmetoden har god bagudkompatibilitet, og den automatiske udfyldningsmetode også understøttes af de fleste moderne browsere, bruger mange designere en kombination af de to for at maksimere tværbrowser-understøttelse af centreringseffekten:

body{ text-align:center; } #container{ margin-left:auto; margin-højre:auto; kant: 1pxsolidred; bredde: 168px; text-align:left }

Men det er altid et trick, og det er på ingen måde perfekt. Vi skal stadig skrive yderligere regler for teksten i den centrerede beholder, men det ser i det mindste godt ud i forskellige browsere.

4. Negativ ydre margin-løsning

Løsninger med negative marginer er langt fra så simple som at tilføje negative marginer til elementer. Denne metode kræver brug af både absolut positionering og negativ margin-teknikker.

Følgende er den specifikke implementeringsmetode for dette skema. Først skal du oprette en container med centrerede elementer og placere den mindst 50% af sidens venstre kant. På denne måde starter containerens venstre margen ved 50% af sidens bredde.

Sæt derefter containerens venstre margin til halvdelen af den negative containerbredde. Dette vil fastgøre beholderen midt på sidens horisontale retning.

#container{ baggrund:#ffcurl(mid.jpg)repeat-ycenter; Position: absolut; venstre: 50%; bredde: 760px; margin-venstre: -380px; }

Se, ingen hacks! Selvom det ikke er den foretrukne løsning, er det en god måde at gøre det på, og det er meget alsidigt – overraskende nok virker det ikke engang uden problemer i NetscapeNavigator 4.x, ikke? Så hvis du ønsker det bredeste udvalg af browserunderstøttelse, vil denne metode være det bedste valg.






Tidligere:Hvordan opnår div css sub-DIV-niveau centrering???
Næste:Analyser brugen af de fire store CSS-attributværdivælgere
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com