2014-09-05 15 views
7

Ho riscontrato un problema con il rendering dei caratteri sui dispositivi mobili. Ho una larghezza di tabella semplice fissata a 800 pixel, dimensione comune per i telefoni cellulari di oggi.come impostare la dimensione uguale dei caratteri nelle celle della tabella per le pagine html del dispositivo mobile

Il testo nelle mie celle utilizza sempre lo stesso trucco CSS css. Il testo nella prima riga mostra ok

Ma la riga successiva è un problema è divisa in due celle. La cella di sinistra è un'immagine e nella cella di destra c'è del testo. Il mio problema è che la maggior parte dei browser Web mobili ridimensiona la dimensione del carattere in quella cella.

Per me sarebbe corretto se quel testo fosse semplicemente distribuito su un po 'più di righe ma ciò non accade, tendono a mantenere tante linee simili a quelle di un browser desktop.

ho impostato la dimensione del carattere utilizzando pt px e nessun effetto nel file css come

.DefaultFont 
{ 
font-family: 'Merriweather Sans', Arial,verdena,sans-serif; 
font-size: 13pt; 
font-style: normal; 
color:#4e0203; 
font-weight: 400; 
} 

usato 13em 13pt e altri metodi ecc niente ha funzionato.

E per l'elemento html utilizzato span e div e p e provato nell'elemento td, ma ancora nessun effetto.

PS Non sto cercando trucchi javascript per ridimensionare le pagine lato client con rilevamento dispositivi ecc. Come faccio semplicemente a usare php per determinare se è un desktop o un dispositivo mobile (che richiede meno codice da trasmettere). Ho solo bisogno del codice in modo che il carattere non cambierà come causato da un browser web mobile.

Come posso impedire a quei client di ridimensionare parti di tabelle?


SOLUZIONE La soluzione finale che ha funzionato davvero bello era una combinazione di più persone qui.

  • Set tavola Larghezza di in%
  • dimensione indicate in carattere vw (che come% ha anche un indice 100), un valore basso come 2 circa.
  • Nota vw è supportato da molto più della dimensione del carattere, anche delle immagini.
  • includere il meta tag ha funzionato anche senza quello dopo, ma per essere al sicuro lo consiglio.
+0

puoi replicare il caso con http://jsfiddle.net? – easwee

+0

hai provato a impostare la dimensione del carattere html e poi a rendere l'altro font-size: 1em ;? – Roi

+0

Prova a utilizzare i valori basati su% per le celle della tabella. – designcise

risposta

4

Forse si dovrebbe usare le unità tipografia viewport dimensioni per il font-size.

Può essere utilizzato quando si desidera dimensionare la cosa attraverso la larghezza o l'altezza del viewport (contenitore di elementi). O entrambi, del resto. I valori possibili sono:

vh - altezza del viewport
E dimensioni proportionaly all'altezza del contenitore.

font-size: 2vh; 

vw - larghezza del viewport
E dimensioni proportionaly alla larghezza del contenitore.

font-size: 2vw; 

Vmin - di finestra minima
E dimensioni proportionaly al più piccolo tra 'vh' e 'vw'.

font-size: 2vmin; 

Vmax - viewport di massima
E dimensioni proportionaly al maggiore tra 'vh' e 'vw'.

font-size: 2vmax; 

sicuramente può dare gli sguardi che si desidera. Trova il valore proporzionale attuale e, indipendentemente dalle dimensioni dello schermo, si adatterà!

W3 viewport relative length's docs

+0

Scusate per la mia risposta in ritardo non sto ancora lavorando al 100% (ill). Beh, devo dire che questo è un bel modo per ridimensionare i caratteri e supporta anche la larghezza del tavolo. piuttosto bella. Tuttavia ho ancora il problema in una cella del tavolo sembra più piccolo. Quando guardi il sito attraverso un cellulare. Mi piacerebbe vederlo funzionare usando questo metodo vmin. – user613326

+0

Beh, ho dovuto combinare il tuo suggerimento sull'uso di vw in CSS. Insieme all'uso della larghezza della tabella come impostato da%.I valori di percentuale e di vw hanno entrambi un centinaio di scale in modo che funzionino bene insieme. Poi ho anche dovuto impostare come spiegato da @Srinivas. Il risultato è fantastico, le sue bilance automatiche senza script solo CSS e un meta tag. Mi piacerebbe premiarti dato che è stato un ottimo consiglio, anche se alla fine ho dovuto combinare tutti i suggerimenti per farlo funzionare come previsto. Il tuo suggerimento ha funzionato al di là di ciò che avevo intenzione di super! – user613326

+0

kinda amazing ho preso nota che questa domanda ha ora 2500 visualizzazioni (24-10-2017) – user613326

5

Hai provato Meta tag, per verificare se funziona ...

<meta name="viewport" content="width=device-width, initial-scale=1"> 

Ciò significa che il browser (probabilmente) rendono la larghezza della pagina alla larghezza del proprio schermo. Quindi, se lo schermo è largo 320 px, la finestra del browser sarà larga 320 px, piuttosto che ingrandita e mostrerà 960px (o qualsiasi altra cosa che fa il dispositivo per impostazione predefinita, al posto di un meta tag reattivo).

Check out, Può essere utile ..

+0

Mi sto avvicinando ora, all'inizio il tavolo principale era fisso e con l'opzione sopra non si adattava al cellulare, ora sono in sintonia con @LcSalazar; in tutto il sito. Devo rimuovere tutte le dimensioni fisse in altri formati, ma finora va nel modo giusto che penso. – user613326

+0

dato che la risposta è stata una combinazione sia di te che di LcSalazar, l'ho votato visto che hai già ottenuto i 25 punti, avevo davvero bisogno di entrambi per il design. Grazie per il tuo suggerimento .. oh e btw impostando la scala iniziale su qualcosa come 0.7 o 1.5 ha restituito il vecchio problema, la scala iniziale 1 di per sé ha reso le mie tabelle grandi sui dispositivi mobili, quindi ho impostato la tabella ora al 90% (per un po 'di sfondo) e la dimensione del carattere da CSS vw, e le immagini anche a vw, insieme, questi nastri si adattano bene a qualsiasi dispositivo. La maggior parte delle cose va bene con vw o%, alcuni non come iframe height – user613326

0

Penso che questo dovrebbe fare il trucco

-webkit-text-size-adjust: none; 
+0

Non ero sicuro di come funzionasse tra diversi webkit, quindi non l'ho testato forse andrà bene e funziona, ho basato la soluzione intorno al consiglio degli altri qui, ma mi piace dire grazie per aver pensato con me. – user613326

0

È possibile utilizzare window.innerHeight.

Problemi correlati