The font shorthand property is not working, but longhand properties do. Why?
Apologies for so simple a question, but it's been years since I've really had to play in CSS and this is eluding me, after a full day of testing. Thanks for any help.
The question is shorthand vs longhand CSS declarations regarding font characteristics inheritence . After much testing, I couldn't get Roboto (100, 300) to really work. One font-weight always overrode the other regardless of whether divs were nested or not. When written in shorthand Open Sans also failed, but worked fine using longhand for individual and nested div. What's going on? (Combining font-family and font-size like: "font: 32px san-serif;" seems to be respected also).
This CSS formatting worked for individual and nested divs, with the only changes being Formal/Longhand font, weight and color.
.div-1 {
font: 32px 'Open Sans', sans-serif;
color: #333;
font-weight: 300;
width: 800px;
padding: 10px;
margin: 10px;
border: 1px solid #333;serif
}
This Shorthand CSS formatting failed with either or both weight or color included in font declaration:
.div-1 {
font: 32px #333 300 'Open Sans', sans-serif;
width: 800px;
padding: 10px;
margin: 10px;
border: 1px solid #333;serif
}
HTML Code:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans|Roboto' rel='stylesheet'>
<link rel='stylesheet' type='text/css' href="../test.css">
</head>
<body>
<div class="div-1">This is Div-1 text</div>
<div class="div-2">This is Div-2 text</div>
<div class="div-3">This is Div-3 text</div>
<div class="div-3">This is Div-3 text
<div class="div-1">This is Div-1 text</div>
<div class="div-2">This is Div-2 text</div>
</div>
</body>
</html>
There's two separate problems here:
font
shorthand. Should work if you fix that.
You're not using the correct syntax for font
shorthand. See the mdn documentation for examples of correctly formatted shorthand rules.
.div-1 {
font: bolder 32px 'Open Sans', sans-serif;
color: #333;
width: 800px;
padding: 10px;
margin: 10px;
border: 1px solid #333;
}
<div class="div-1">This is Div-1 text</div>
<div class="div-2">This is Div-2 text</div>
<div class="div-3">This is Div-3 text</div>
<div class="div-3">This is Div-3 text</div>
<div class="div-1">This is Div-1 text</div>
<div class="div-2">This is Div-2 text</div>
These are the acceptable properties of the font
shorthand:
(Note that color
is not on the list.)
font-style
font-variant
font-weight
font-size
line-height
font-family
Here's the permissible order of properties:
First (in any order):
font-style
and/or font-variant
and/or font-weight
or nothing Second:
font-size
Third:
line-height
or nothing Fourth:
font-family
Fifth:
https://www.w3.org/TR/CSS22/fonts.html#font-shorthand
链接地址: http://www.djcxy.com/p/95642.html上一篇: android web字体不同