2013-02-01 9 views
11

Pracuję nad małym projektem dla szkoły, w którym musimy włączyć html5 i css3. Jest to dopiero początek, ponieważ próbuję utworzyć dwa osobne pliki css dla wersji mobilnej i desktopowej.Rozmiar czcionki CSS nie działa poprawnie na urządzeniu mobilnym

W wersji dla urządzeń mobilnych staram się, aby menu było wyświetlane jako lista, ale z większą czcionką. Nie mogę w żaden sposób tego zrobić.

To css dla menu:

nav ul { 
    list-style: none; 
    background-color: green; 
    padding: 0; 
} 

nav li { 
    border-bottom: 1px solid black; 
    padding: 5px; 
} 

nav { 
    margin-top: -36px; 
    width: 100% 
} 

nav h1{ 
    margin: 0; 
} 

Stwarza następujących na moim pulpicie Desktop with 1em I na moim iPhone iPhone with 1em

font-size jest ustawiony na 1 em w HTML w wierzchołek pliku. Ale 1em nie jest wystarczająco duży dla urządzeń mobilnych, więc chcę go większy, co wydaje się niemożliwe.

Nawet kiedy daję nav h1 się rozmiar czcionki na 10em, to nie ma się większe niż to: iPhone with 10em

Podczas gdy na pulpicie to działa bez problemu, nie wygląda to tak: Desktop with 10em

Ten sam problem występuje, gdy próbujemy zwiększyć liczbę postów na blogu, po prostu tego nie zrobią.

Zwykle nie mam problemu z pracą z CSS, ale tym razem nie mogę tego rozgryźć. Mam nadzieję, że ktoś może pomóc! Mam przeczucie, że to coś bardzo oczywistego.

Oto pełna CSS: http://snipt.org/zLic5

Oto html: http://snipt.org/zLid2

+0

dlaczego nie zadeklarować rozmiaru czcionki w pikselach zamiast em?w sidenote, jeśli używasz zapytań o media, możesz trzymać się jednego css i tylko przesłonić style, które różnią się pomiędzy urządzeniami. –

+1

Istnieje wyjaśnienie tutaj: http://stackoverflow.com/questions/750594/maximum-font-size-a-page-can-render. Wkładasz tyle wysiłku w zadawanie pytań, nie mogę zmusić się do głosowania, aby zamknąć to jako duplikat. –

Odpowiedz

17

Widziałem twój kod html. nie dodajesz żadnego metatagu. niektóre znaczniki meta są wymagane, gdy rozwijają mobilną stronę internetową,

na przykład trzeba dodać -

<meta name="HandheldFriendly" content="true" /> 
<meta name="MobileOptimized" content="320" /> 
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, width=device-width, user-scalable=no" /> 
<title>Welcome to your school name</title> 

<!-- smart phone css --> 
<link href="assets/phone.css" rel="stylesheet" type="text/css" media="all and (min-width: 0px) and (max-width: 480px)" /> 

<!-- Tablet --> 
<link href="assets/tablet.css" rel="stylesheet" type="text/css" media="all and (min-width: 481px) and (max-width: 800px)" /> 

<!-- Desktop --> 
<link href="assets/desktop.css" rel="stylesheet" type="text/css" media="only screen and (min-width:801px)"> 
+0

Witam, Dziękuję za odpowiedź! Dodanie metatagu z rzutnią rozwiązało problem! Oczywiście dodałem także inne meta. Nie używam linków do .css, ponieważ używam do tego ekranu @media, więc muszę po prostu śledzić jedną css. – Rvervuurt

+0

Dobra odpowiedź .... Dziękuję ... – KarSho

+0

@ naresh-kumar - Dzięki. To mi pomogło. Zauważyłem jednak literówkę, powinna ona być "skalowalna przez użytkownika" (bez "e"). Pozdrowienia – Matt

0

widzę parę rzeczy, myślę, że można pomóc swojej sytuacji. Semantycznie nie chcesz używać tagów <h1> na liście menu. Usuń te znaczniki i zastosuj stylizację do stylu CSS nav li i odpowiednio dostosuj dopełnienie. Ponadto, tylko zalecenie, ale słyszałem z kilku stron, że idealne rozmiary czcionek mobilnych to pt.

Mam nadzieję, że to pomoże.

0

Wróć do korzystania z nawigacji li.

Następnie ustaw rozmiar czcionki na coś akceptowalnego (14 pikseli lub 16 pikseli).

Następnie, w swoich css, użyj zapytań o media.

@media (max-width: 480px) { // will only happen on viewport less then 480 pixels (mobile) 
    li { 
    font-size:18px; // larger font (or whatever you want to do 
    padding: 20px; // can even increase your padding 
    } 
} 
1

właściwość Try css text-size-adjust do skalowania tekstu na urządzeniach mobilnych. Coś jak:

nav { 
    text-size-adjust: 200%; 
} 
nav ul { 
    text-size-adjust: 300%; 
} 
nav h1 { 
    text-size-adjust: 400%; 
} 
+0

Dzięki, to rozwiązało moje problemy. To jest eksperymentalne: https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust Ponadto widzę, że domyślne ustawienie zmienia rozmiar czcionki innego elementu według różnych kwot. Ustawiłem to na 250% dla znacznika 'body', aby wszystkie elementy były skalowane razem. – jchavannes