2011-08-12 17 views
8

Mam następujący fragment w moim arkuszu stylów. Jaki jest wpływ lub cel?Jaki jest cel tego fragmentu kodu CSS?

* { 
    margin:0; 
    padding:0; 
    top: 0px; 
    left: 0px; 
} 
+0

denerwować bzdury przyszłych deweloperów. Również górny i lewy przycisk nie ma żadnego efektu, chyba że element ma pozycję inną niż statyczna. – corymathews

Odpowiedz

8

To jest reset CSS. Jego celem jest usunięcie domyślnych odstępów niezerowych dla wszystkich elementów (*). Wszystkie przeglądarki mają domyślny arkusz stylów i nie są ze sobą spójne. Przykładem może być <form>.

Uwaga: Ustawianie left i top właściwości 0px nie wygląda prawo do mnie. Prawdopodobnie spowoduje to problemy z pozycjonowaniem absolutnym. Podczas pozycjonowania elementu absolutnie możesz chcieć zdefiniować tylko jego pionowe lub poziome przesunięcie (nie obie), pozostawiając inne przesunięcie niezmienione. Ten reset CSS nie pozwala na to, ponieważ daje wartości zarówno w pionie, jak iw poziomie. Możesz także ustawić element od dołu. Jeśli posiadasz ten reset, będzie on miał zarówno bottom, jak i top, który w większości przypadków nie jest wymagany i może zmieniać wysokość elementu lub nie uwzględniać jednego z przesunięć. W każdym razie dostaniesz coś, co nie jest zamierzone i złamiesz swój układ.

Dla tych, którzy chcą dowiedzieć się więcej na: http://www.w3.org/TR/CSS2/visuren.html#absolute-positioning

+0

wspominając, że "resetowanie lewego i najwyższego atrybutu" powodowało problem na stronie w kontrolce mapy google! Usunięcie ich rozwiązało mój problem (dlatego właśnie zadałem to pytanie). Wezwę to i przyjmuję jako odpowiedź. – FiveTools

+0

Wyjaśniłem twój ostatni punkt. Jeśli nie lubisz, możesz wycofać. – thirtydot

+0

@thirtydot Połączyłem twoją edycję z moją;) Dzięki! –

11

Jest to zresetować. Po tym wszystkim wszystkie elementy będą miały margines 0, wypełnienia itp.

Takie resetowania są użyteczne do normalizowania zachowania (niektóre przeglądarki mają wstępnie zdefiniowane marginesy, wypustki itp.) Oraz w celu zwiększenia spójności wizualnej w różnych przeglądarkach.

+0

i ich pozycja jest zresetowana (choć nie zauważysz żadnej różnicy w stosunku do pozycji: względna;)) – knittl

+0

@knittl, masz na myśli, pozycja: względna będzie nadpisywać zachowanie? Mam kontrolę mapy google, którą ładuję na stronę, a wpływ tego fragmentu łamie układ wewnątrz mapy. Jeśli usunę fragment kodu, będzie on poprawnie renderowany. Jednak inne elementy strony są źle wyrównane. – FiveTools

+0

@FiveTools Łamie pozycjonowanie dla elementów, które mają 'position: absolute;' (zobacz moją odpowiedź). Mapy Google szeroko wykorzystują pozycjonowanie absolutne. –

0

Celem fragmencie jest zresetowanie na marginesie, wyściółka i ustawić pozycję lewego górnego rogu rzutni w swojej przeglądarki internetowej.

1

Stosuje zasady zawarte w odniesieniu do wszystkich elementów strony; tworzenie przewidywalnej linii bazowej dla kaskadowania reguł.

Technika ta nazywa się "reset" (google dla "Resetowania CSS") i jest to podejście do rozwiązywania różnych przeglądarek przy użyciu różnych domyślnych reguł CSS.

Te zasady powinny być stosowane tak wcześnie, jak to możliwe, zazwyczaj na początku pierwszego załadowanego arkusza CSS.

0

Estryczny gwóźdź jest znany jako all/all, więc jego znaczenie jest takie, że CSS zostanie zaimplementowany na wszystkich elemetns i ustawi parametry jako parametry.