I have a fluid website and the menu is 20% of its width. I want the font size of the menu to be measured properly so it always fits the width of the box and never wrap to the next line. I was thinking of using "em" as a unit but it is relative to the browser's font size, so when I change resolutions the font size stays the same.
Tried also pts and percentages. Nothing works as I need it...
Give me a hint of how to proceed, please.
Select 'Display'. Select the 'Change display settings' link towards the top of the window on the left-hand side. In the 'Resolution' section, select the pull-down bar, and a slider bar should appear. Move the slider bar down to make the text larger, or move it up to make the text smaller.
The monitor is manufactured with a specific arrangement of pixels, which is its "native" resolution. Characters are drawn on the screen by defining which pixels are illuminated within an imaginary grid. The number of pixels in the grid determines the size of the font on that monitor.
For most font-relative units (such as em and ex ), the font size is relative to the parent element's font size. For font-relative units that are root-based (such as rem ), the font size is relative to the size of the font used by the <html> (root) element.
No you cannot set the size of the font in a percentage relative to the size of the page. Sizing in em is based on the size relative to how the font would normally render in 16 point.
You can use em
, %
, px
. But in combination with media-queries
See this Link to learn about media-queries. Also, CSS3 have some new values for sizing things relative to the current viewport size: vw
, vh
, and vmin
. See link about that.
There are several ways to achieve this.
*CSS supports dimensions that are relative to viewport.
3.2vw = 3.2% of width of viewport
3.2vh = 3.2% of height of viewport
3.2vmin = Smaller of 3.2vw or 3.2vh
3.2vmax = Bigger of 3.2vw or 3.2vh
body { font-size: 3.2vw; }
see css-tricks.com/.... and also look at caniuse.com/....
Use media query but requires font sizes for several breakpoints
body { font-size: 22px; } h1 { font-size:44px; } @media (min-width: 768px) { body { font-size: 17px; } h1 { font-size:24px; } }
Use dimensions in % or rem. Just change the base font size everything will change. Unlike previous one you could just change the body font and not h1 everytime or let base font size to default of the device and rest all in em.
“Root Ems”(rem): The “rem” is a scalable unit. 1rem is equal to the font-size of the body/html, for instance, if the font-size of the document is 12pt, 1em is equal to 12pt. Root Ems are scalable in nature, so 2em would equal 24pt, .5em would equal 6pt, etc..
Percent (%): The percent unit is much like the “em” unit, save for a few fundamental differences. First and foremost, the current font-size is equal to 100% (i.e. 12pt = 100%). While using the percent unit, your text remains fully scalable for mobile devices and for accessibility.
see kyleschaeffer.com/....
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With