html元素应该从语义方向去考虑使用,而不是样式方向。
比如em
、strong
其实是为了强调,而不是为了斜体、粗体而添加。
另外,还要考虑非视觉的效果,比如screen reader、SEO等,所以还是尽量使用HTML的各种标记的特征,如h1
、p
、nav
等,不要想当然的用div
+CSS就能搞定一切,虽然视觉上看来是没有区别的。
html元素应该从语义方向去考虑使用,而不是样式方向。
比如em
、strong
其实是为了强调,而不是为了斜体、粗体而添加。
另外,还要考虑非视觉的效果,比如screen reader、SEO等,所以还是尽量使用HTML的各种标记的特征,如h1
、p
、nav
等,不要想当然的用div
+CSS就能搞定一切,虽然视觉上看来是没有区别的。
自适应屏幕宽度的图片
.img-wrapper {
position: relative;
width: 100%;
padding-top: 100%; /* 以宽度来计算 */
height: 0;
img {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
responsive
<img>
<img>
这两个属性都是HTML5引入的。
srcset
xxx.jpg 320w
:图片资源 图片真实宽度
xxx.jpg 2x
:图片资源 像素密度
sizes
(max-width: 320px) 280px
:媒体查询 设置宽度
设置宽度可以是百分比、em、px、rem等。
首先媒体查询屏幕宽度,设置显示图片的容器宽度,然后查询资源集,加载宽度最接近的图片资源。
<picure>