视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CSS的sprite和单位_html/css
2020-11-27 15:57:43 责编:小采
文档


(1).关于css sprite技术

比方说:

  1. 有个论坛频道,其中有个一些论坛特有的小图标(火啊,顶啊之类),基于整站小图标大团结的思想,这些小图标也放在了那个icon背景图片上了。然而,数年下来,我发现,论坛的那几个图标就论坛这个频道使用了,这几个图标跟着整站走,对于99%的页面而言,是多余的,浪费流量,典型的“占着茅坑不拉屎”!
  2. 数年之后,有些图标要做调整。问题来了,有些图标不记得其他地方有没有使用过,不敢删除,不敢替换。这可维护性立马下降了很多!

改进:

  1. 属性分组:例如,所有分享系列的图标(新浪微博,企鹅微博小图标)集合
  2. 功能分组:所有表示餐厅优惠状态的图标(惠,券等)集合在一起
  3. 直接:无亲无故的小图标就不要硬是去攀关系,自己一家即可

总结:
不能执着于某个牛角尖(我要最少的请求数)而破坏了大局的权衡。

(2).绝对单位和相对单位

input, textarea, select这些控件元素本身就有文字大小,默认不会直接继承body等父级标签。因此,我们需要reset下,否则16像素的文字会吓着用户的。

最初的时候,受一些大网站的影响,是这样设置的:

input, textarea, select { font-size: 12px; }


我看了下,眼睛微博还是这样子的(//zxx: 无数次事实表明,要想举反例,眼睛微博一找一个准):

然而,这种设置很不好。为何,看看上面“螃蟹和章鱼的故事”中螃蟹的下场就知道了!不灵活,不能自动适应,只会变成困兽,任人宰割。

好的做法是这个:

input, textarea, select { font-size: 100%; }


这个百分之百最佳实践,毋庸置疑,与什么狗屁经验没有一点关系。为什么这样设置?你用了就知道了。

对了,临时想到其他一点东西,我看到很多人写两层标签按钮的时候,会有类似下面的代码:

.redbtn { height: 24px; ... }.redbtn .btn { height: 24px; ... }


如果你不写个高度height就缺乏安全感的话,你这样写也好啊:

.redbtn { height: 24px; ... }.redbtn .btn { height: 100%; ... }


其实呢,有个height是多余的,这样子就够了:

.redbtn { ... }.redbtn .btn { height: 24px; ... }


记住,内外标签如果高度一样,不要同时出现相同的定值。

下载本文
显示全文
专题