2013-04-06 9 views
26

Buduję responsywną stronę i zastanawiam się, z której jednostki powinienem skorzystać? Widziałem wiele witryn używających pikseli (px) do pomiarów i widziałem, że niektóre wykorzystują procent (%). Czy istnieje preferowany - lub właściwy - sposób na elastyczne projektowanie?Jaka jest preferowana jednostka podczas wykonywania elastycznego projektu?

Zauważyłem, że procent jest trudny w użyciu, ponieważ sprawia, że ​​obliczenia są trudne i skończyłem z wartościami takimi jak 2,754% i tak dalej przy ustawianiu szerokości/marginesów itp. Piksele wydają się łatwiejsze, to tylko proste dodawanie i Odejmowanie, ale czytałem, że nie jest to "przyszły dowód" lub coś podobnego i nie będzie prawidłowo skalowane, jeśli użytkownik powiększy okno przeglądarki. Czy to nadal prawda?

Jeśli masz jakieś doświadczenie lub wiedzę, proszę udostępnij! Bardzo chciałbym usłyszeć, co macie do powiedzenia!

Dzięki!

+1

_Responsive_ i _absolute wartości_ (podobnie jak piksele) przeczą sobie nawzajem. Najczęściej łatwiej jest użyć względnych wartości dla twoich gładkich właściwości ('width') i absolutnych wartości dla min/max (' max-width', 'min-width'). W ten sposób nadal pozostaje responsywny, ale możesz przyjąć pewne założenia dotyczące szerokości stylizowanego pojemnika. – Zeta

+0

Zobacz [to pytanie] (http://stackoverflow.com/questions/12450961/responsive-layout-px-em-or) – Bigood

+0

Myślę, że odpowiedź jest w większości poprawna. Tak czy inaczej, w CSS jest wiele jednostek. Zobacz ten post od Chrisa Coyiera: http://css-tricks.com/the-lengths-of-css/ – pzin

Odpowiedz

4

Użyj wartości procentowych wraz z minimalną szerokością i maksymalną szerokością w pikselach. Spowoduje to zatrzymanie wartości procentowych, co spowoduje, że twój divy będą zbyt małe lub zbyt duże. np.

div { 
    width:100%; //full width of browser 
    max-width: 960px; //this means it will be 100% of the browser until 960px then it will stop expanding 
} 
9

Oczywiście musisz użyć procentu. Ale z kluczami CSS min-height, min-width, max-width.

Dla następnego pokolenia

vw i vh. Wartość vw wynosi 1/100 szerokości okna, a vh to 1/100 wysokości okna. Za reakcję będą to nowe jednostki.

+0

Próbowałem go na Firefoxie 20. Działa. – zkanoca

+0

Tak, myślę, że działają one w kilku przeglądarkach, ale nie są już gotowe do eksperymentalnego rozwoju: P –

29

Dla układ typu rzeczy jak rozmiarów pudełka, którego chcesz użyć % ponieważ będzie zazwyczaj mają kilka kolumn wielkości jako procent ich rodziców, które będą układane na wierzchu od siebie w pewnej przerwania (width:100%) . Żadna inna jednostka nie pozwoli ci wypełnić 100% przestrzeni, takiej jak %.

Dla wypełnienie/marginesy użyć em, zwykle będziesz chciał umieścić swoje elementy w stosunku do wielkości tekstu. Z em (znakiem "M") możesz z łatwością powiedzieć, że chcę tutaj uzyskać około 1 znaków.

Dla granice można użyć px lub em, jest jednak różnica. Jeśli chcesz, aby ramka wyglądała na szerokość jednego piksela na wszystkich urządzeniach, użyj 1px. Nie może to być jeden piksel na wszystkich urządzeniach, jednak wyświetlacze wysokiej gęstości konwertują na przykład 1px na 2px. Jeśli chcesz, aby twoja ramka była wielkością opartą na twojej czcionce, użyj em.

Dla czcionek użytku em (lub %), korzystanie z em prowadzi przez rodziców na dzieci i to tylko ładniejszy jednostkowe pracować nad px.

+1

To bardzo daleko od zestawu reguł. Ta odpowiedź jest dobrym przewodnikiem, ale istnieje wiele przypadków, w których używanie innych jednostek może działać o wiele lepiej –

+1

W przypadku granic można również użyć "cienkiego", "średniego" i "grubego". Odpowiadają one "1px", "3px" i "5px", ale są również skalowalne w zależności od twojego zoomu, itp. Są również lepsze niż 'em', ponieważ granica zdefiniowana przez' em' po prostu znika po zmniejszeniu i szerokości staje się mniejszy niż '1px'. – tomasz86

Powiązane problemy