2010-12-17 9 views

Odpowiedz

33

Wbrew temu, co można przeczytać gdzie indziej, nie ma nr bezpośredni związek między EM i pikseli.

Jako jeden z linków stwierdza:

„em” wartość opiera na szerokości wielkiej M

Więc to będzie inna dla każdej czcionki. Wąska czcionka może mieć tę samą wysokość (w pikselach) co czcionka rozszerzona, ale rozmiar em będzie inny.

EDIT trzy lata później:

Obecnie istnieje wiele źródeł, które twierdzą, że wielkość 1em = czcionki (w pikselach). Oznacza to, że gdy napiszesz font-size:16px, wtedy 1em = 16px. To nadal nie zgadza się ze źródłem Adobe (co mówi 1em = rozmiar czcionki w pt), ale w każdym przypadku wydaje się dziwne; rozmiar em byłby zbyt duży ze skondensowanymi czcionkami i zdecydowanie za mały z rozszerzonymi czcionkami.

Mam zamiar zrobić kilka stron testowych i przekonać się.

A także:

widzę, że nikt (w tym mnie) faktycznie odpowiedział na pytanie (które było rodzajem ukryty):

Ja też czytałem gdzieś o jakimś tj błędów i do pokonania że zestaw ciało font-size coś

Według this page, trzeba dodać to do Twojego CSS: html{ font-size:100%; }. Ta strona ma sześć lat i nie przeczytałem (setki) komentarzy, więc nie wiem, czy to nadal jest istotne.

+0

to jest naprawdę nowe. Czy jest jakieś źródło, w którym mogę je czytać. –

+3

http://en.wikipedia.org/wiki/Em_(typography), który cytuje Adobe (http://www.adobe.com/uk/type/topics/glossary.html). Ale teraz, gdy ją przeczytałem, ta strona mówi również "Em jest tradycyjnie definiowana jako szerokość wielkiej litery M w bieżącym rozmiarze i rozmiarze punktu, jest ona bardziej poprawnie zdefiniowana jako po prostu bieżący rozmiar punktu. Na przykład w 12-punktowym type, em to odległość 12 punktów. " – egrunin

+0

zauważyłeś wzmiankę o niektórych błędach ustawiania rozmiaru czcionki ciała na 100% dla poprawnej pracy z em –

5

Jest obliczany off cokolwiek organizm rozmiar czcionki. Możesz użyć konwertera pikseli do em, aby dowiedzieć się dokładnie, co to jest w Twojej witrynie.

PxToEm

2

EM jednostka proporcjonalny do wielkości pomiarowej punktowej czcionki.

17

Zasada M, że em jest oparta na literę M i jest zależna od czcionki jest często podawanym mitem !! W3c em documentation bardzo zwięźle opisuje, jak dokładnie odnoszą się emsy i piksele. Używanie litery M do obliczania rozmiarów czcionek jest co najmniej zbyt skomplikowane i niepotrzebne.

Jednostka „em” jest równa komputerową wartość „rozmiar czcionki” właściwości elementu, w którym jest on używany. Wyjątkiem od jest sytuacja, gdy "em" występuje w wartości samej własności "rozmiaru czcionki", czyli , w którym to przypadku odnosi się do rozmiaru czcionki elementu nadrzędnego w postaci . To może być użyte do pomiaru pionowego lub poziomego .

Oto najważniejsze punkty.

  1. Bez powiększenia elementu nadrzędnego 1em jest dokładnie równe atrybutowi rozmiaru czcionki pikseli.

  2. Powiększenie Przodka z x-ems lub x-procent oznacza, że ​​pomnożymy przez oczywiste proporcje x lub x/100. W ten sposób prosta pętla skryptu java obliczy dokładne rozmiary czcionek, zakładając: (1) brak błędów C.S.S w celu udaremnienia skryptu java; oraz (2) niektóre elementy nadrzędne mają ustawiony rozmiar czcionki w jednostkach bezwzględnych. Jest to obliczona wartość, o której mówi dokumentacja. Obliczenia ręczne mogą obejść C.S.S., ale bezwzględna jednostka musi wciąż znaleźć się w łańcuchu przodków.

  3. Od szerokości EMS miary zawsze można obliczyć dokładny rozmiar czcionki tworząc div, który jest 1000 EMS długo i podzielenie jej właściwości client-Szerokość od 1000. Od EMS są zaokrąglane do najbliższej tysięcznej trzeba 1000 EMS, aby uniknąć błędne obcięcie piksela.

  4. Prawdopodobnie można utworzyć czcionkę w przypadku niepowodzenia zasady M, ponieważ em jest oparta na atrybucie rozmiaru czcionki, a nie na faktycznej czcionce. Załóżmy, że masz dziwną czcionkę, gdzie M jest równe 1/3 rozmiaru innych znaków, a rozmiar czcionki to 10 pikseli. Nie sądzisz, że rozmiar czcionki w pikselach w jakiś sposób gwarantuje maksymalną wysokość znaku, więc M nie będzie miało 10 pikseli, a wszystkie pozostałe znaki 30 pikseli?

ostrzegawczy

  1. Głównym zastrzec, (2) jest to, że względny stosunek jednostki EX gwałtownie niestabilne. W tej samej przeglądarce ze stałą czcionką stosunek względny może się zmieniać wraz z rozmiarem czcionki. Względny stosunek wartości ex również zmienia się w przeglądarce, nawet przy takim samym rozmiarze czcionki i bezpiecznej czcionce przeglądarki, takiej jak Gruzja.Jest to całkiem niezły powód, aby nigdy nie używać jednostki ex, jeśli chcesz mieć zgodność. W przypadku użycia jednostki ex niemożliwe jest obliczenie rozmiaru czcionki przez łańcuch przodków.
3

em jest miarą używaną w drukowanej typografii pierwotnie (jak na wikipedię). Oto kilka rzeczy do rozważenia: jeśli em jest zdefiniowany jako typ 12pt, em ma 12/72 cala wydrukowanej strony; ale jeśli definiujesz em jako 16px, jego szerokość w calach zależy od rozdzielczości nośnika. (Uwaga: rozdzielczość 72ppi na 120ppi była uważana za standard "bezpiecznej przeglądarki" przed pojawieniem się urządzeń mobilnych). Tak więc, kiedy użytkownicy korzystają z urządzenia o szerokości 300 pikseli, 1e jako 16 pikseli to dużo "nieruchomości". Najlepszym zastosowaniem wymiarów em jest, moim zdaniem, definiowanie akapitów tekstów w celu efektywnego równoważenia białej przestrzeni, a nie układu strony czy pozycjonowania.

2

Nazwa em, nazwana od litery "M", ma długą tradycję w typografii, w której była stosowana do pomiaru szerokości poziomych. Na przykład długa kreska często znajdowana w amerykańskich tekstach (-) jest znana jako "em-dash", ponieważ historycznie miała taką samą szerokość jak litera "M". Węższy kuzyn (-), często spotykany w tekstach europejskich, jest podobnie określany jako "en-dash".

Znaczenie "em" zmieniło się na przestrzeni lat. Nie wszystkie czcionki mają literę "M" (na przykład chiński), ale wszystkie czcionki mają wysokość. Termin ten oznacza zatem wysokość czcionki - a nie szerokość litery "M".

Zdumiewająca jednostka em i inne najlepsze praktyki https://www.w3.org/WAI/GL/css2em.htm