We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
对于 margin-top 合并,可以进行如下操作(满足一个条件即可):
对于 margin-bottom 合并,可以进行如下操作(满足一个条件即可):
vertical-align 属性的默认值 baseline 在文本之类的内联元素那里就是字符 x 的下 边缘,对于替换元素则是替换元素的下边缘。但是,如果是 inline-block 元素,则规则要 复杂了:一个 inline-block 元素,如果里面没有内联元素,或者 overflow 不是 visible, 则该元素的基线就是其 margin 底边缘;否则其基线就是元素里面最后一行内联元素的基线。
内联元素的上下边缘对齐的这个“边缘”是当前“行框盒子”的上下边缘, 并不是块状容器的上下边缘
倒是内联元 素的 vertial-align:middle 有很多说不完的故事。定义中“基线往上 1/2 x-height 处”, 指的就是 middle 的位置,仔细品味一下,“基线”就是字符 x 底边缘,而 x-height 就是字 符 x 的高度。考虑到大部分字体的字符 x 上下是等分的,因此,从“基线往上 1/2x-height 处”我们就可以看出是字符 x 中心交叉点的位置。换句话说就是,vertial-align:middle 可以让内联元素的真正意义上的垂直中心位置和字符 x 的交叉点对齐。 基本上所有的字体中,字符 x 的位置都是偏下一点儿的,font-size 越大偏移越明显, 这才导致默认状态下的 vertial-align:middle 实现的都是“近似垂直居中”。
float 特性:
clear 属性只有块级元素才有效的,而::after 等伪元素默认都是内联水平,这就是借 助伪元素清除浮动影响时需要设置 display 属性值的原因
• 如果该祖先元素是纯 inline 元素,则规则略复杂: • 假设给内联元素的前后各生成一个宽度为 0 的内联盒子(inline box),则这两个内联盒子的 padding box 外面的包围盒就是内联元素的“包含块”; • 如果该内联元素被跨行分割了,那么“包含块”是未定义的,也就是 CSS2.1 规范并没有明确定义,浏览器自行发挥。 否则,“包含块”由该祖先的 padding box 边界形成
(1)即使是定宽的传统桌面端网页,也需要做响应式处理,尤其是针对 1200 像素宽度设 计的网页,但只需要响应到 800 像素即可,可以保证至少有 1.5 倍的缩放空间,如果做到这一 步,那么是否需要响应浏览器的字号设置这一点就可以忽略。
(2)如果因各种原因无法做响应式处理,也没有必要全局都使用相对单位,毕竟成本等现 实问题摆在那里,其实只需要在图文内容为主的重要局部区域使用可缩放的 font-size 处理 即可。例如,小说网站的阅读页、微信公众号文章展示区、私信对话内容区、搜索引擎的落地 页、评论区等,都强烈建议摒弃 px 单位,而采用下面的实践策略。
• 容器设置 font-size:medium,此时,这个局部展示区域的字号就跟着浏览器的设 置走了,默认计算值是 16px。
• 容器内的文字字号全部使用相对单位,如百分比值或者 em 都可以,然后基于 16px 进 行转换
如果使用数值作为 font-weight 属性值,必须是 100~900 的整百数。因为这里的数值 仅仅是外表长得像数值,实际上是一个具有特定含义的关键字,并且这里的数值关键字和字母 关键字之间是有对应关系的,例如,font-weight:400 实际上等同于 font-weight: normal,font-weight:700 等同于 font-weight:bold。
要想让::first-letter(:first-letter)伪元素生效,是需要满足一定条件的。 首先,元素的 display 计算值必须是 block、inline-block、list-item、tablecell 或者 table-caption,其他所有 display 计算值都没有用,包括 display:table 和 display:flex 等。不是所有的字符都能单独作为::first-letter 伪元素存在的,正常情况下可以直接作为伪元素的字符就是数字、英文字母、中文、$、一些运算符,以 及非常容易被忽视的空格等。这里的“空格”有必要再加粗强调一下,因为它的确是很容易被 忽视的一个字符。::first-letter 伪元素的另外一个重要特性—颜色等权重总是多了一层
hsl 颜色的 3 个字母也有自己的含义。其中,h 表示 hue,是色调的意思,取值 0~ 360,大致按照数值红、橙、黄、绿、青、蓝、紫变化节奏;s 表示 saturation(饱和度),用 0~ 100%表示,值越大饱和度越高,颜色越亮,通常我们评价某设计“亮瞎我们的眼”,就是“这个设计颜色饱和度太高”的另一种说法;l 表示 lightness(亮度),也用 0~100%表示,值越高 颜色越亮,100%就是白色,50%则是正常亮度,0%就是黑色。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
CSS世界
盒模型
对于 margin-top 合并,可以进行如下操作(满足一个条件即可):
对于 margin-bottom 合并,可以进行如下操作(满足一个条件即可):
margin 合并的计算规则总结为“正正取大值”“正负值相加”“负负最负值”
vertical-align 属性的默认值 baseline 在文本之类的内联元素那里就是字符 x 的下 边缘,对于替换元素则是替换元素的下边缘。但是,如果是 inline-block 元素,则规则要 复杂了:一个 inline-block 元素,如果里面没有内联元素,或者 overflow 不是 visible, 则该元素的基线就是其 margin 底边缘;否则其基线就是元素里面最后一行内联元素的基线。
内联元素的上下边缘对齐的这个“边缘”是当前“行框盒子”的上下边缘, 并不是块状容器的上下边缘
倒是内联元 素的 vertial-align:middle 有很多说不完的故事。定义中“基线往上 1/2 x-height 处”, 指的就是 middle 的位置,仔细品味一下,“基线”就是字符 x 底边缘,而 x-height 就是字 符 x 的高度。考虑到大部分字体的字符 x 上下是等分的,因此,从“基线往上 1/2x-height 处”我们就可以看出是字符 x 中心交叉点的位置。换句话说就是,vertial-align:middle 可以让内联元素的真正意义上的垂直中心位置和字符 x 的交叉点对齐。 基本上所有的字体中,字符 x 的位置都是偏下一点儿的,font-size 越大偏移越明显, 这才导致默认状态下的 vertial-align:middle 实现的都是“近似垂直居中”。
float 特性:
clear 属性只有块级元素才有效的,而::after 等伪元素默认都是内联水平,这就是借 助伪元素清除浮动影响时需要设置 display 属性值的原因
定位
字体
如何权衡“易于实现维护”“视觉还原”“可访问性”这三者。
(1)即使是定宽的传统桌面端网页,也需要做响应式处理,尤其是针对 1200 像素宽度设 计的网页,但只需要响应到 800 像素即可,可以保证至少有 1.5 倍的缩放空间,如果做到这一 步,那么是否需要响应浏览器的字号设置这一点就可以忽略。
(2)如果因各种原因无法做响应式处理,也没有必要全局都使用相对单位,毕竟成本等现 实问题摆在那里,其实只需要在图文内容为主的重要局部区域使用可缩放的 font-size 处理 即可。例如,小说网站的阅读页、微信公众号文章展示区、私信对话内容区、搜索引擎的落地 页、评论区等,都强烈建议摒弃 px 单位,而采用下面的实践策略。
• 容器设置 font-size:medium,此时,这个局部展示区域的字号就跟着浏览器的设 置走了,默认计算值是 16px。
• 容器内的文字字号全部使用相对单位,如百分比值或者 em 都可以,然后基于 16px 进 行转换
桌面 Chrome 浏览器下有个 12px 的字号限制,就是文字的 font-size 计算值不能小于 12px,除了font-size:0
如果使用数值作为 font-weight 属性值,必须是 100~900 的整百数。因为这里的数值 仅仅是外表长得像数值,实际上是一个具有特定含义的关键字,并且这里的数值关键字和字母 关键字之间是有对应关系的,例如,font-weight:400 实际上等同于 font-weight: normal,font-weight:700 等同于 font-weight:bold。
::first-letter 伪元素生效的前提
要想让::first-letter(:first-letter)伪元素生效,是需要满足一定条件的。 首先,元素的 display 计算值必须是 block、inline-block、list-item、tablecell 或者 table-caption,其他所有 display 计算值都没有用,包括 display:table 和 display:flex 等。不是所有的字符都能单独作为::first-letter 伪元素存在的,正常情况下可以直接作为伪元素的字符就是数字、英文字母、中文、$、一些运算符,以 及非常容易被忽视的空格等。这里的“空格”有必要再加粗强调一下,因为它的确是很容易被 忽视的一个字符。::first-letter 伪元素的另外一个重要特性—颜色等权重总是多了一层
hsl 颜色的 3 个字母也有自己的含义。其中,h 表示 hue,是色调的意思,取值 0~ 360,大致按照数值红、橙、黄、绿、青、蓝、紫变化节奏;s 表示 saturation(饱和度),用 0~ 100%表示,值越大饱和度越高,颜色越亮,通常我们评价某设计“亮瞎我们的眼”,就是“这个设计颜色饱和度太高”的另一种说法;l 表示 lightness(亮度),也用 0~100%表示,值越高 颜色越亮,100%就是白色,50%则是正常亮度,0%就是黑色。
The text was updated successfully, but these errors were encountered: