1. 关键字, 例如: background-position: top right;
优点: 直观, 可用性高, 各浏览器中表现一致.
缺点: 缺少间隔尺寸. 三个垂直的 (top, center, bottom) 和三个水平的 (left, center, right) 只能为你组合出最多 9 个位置. 不存在其他混式的组合. 并且很难像其他两种数值定位方法一样使用算数进行控制.
2. 像素, 例如: background-position: 0px 0px;
优点: 概念容易被理解, 只要知道如何测量容器左上角和图片左上角之间的距离, 就能准确地推测出图片显示的位置. 像素还能够精确的用数学来控制定位.
缺点: 你必须知道确实的值.
原理, 如图. 其实就是图片左上角相对于容器左上角的坐标关系.
3. 百分比, 例如: background-position: 80% 50%;
优点: 可以使用数学来控制定位, 并且比像素定位更加灵活.
缺点: IE 中无法处理复杂的百分比定位. 你可以看看这个测试.
原理, 如图. 与像素定位不同, 它的百分比位置是指容器和图片内部的相应位置作为显示的位置.
在制作网页时, 为什么要将多个图标放在一个图片文件里面呢?
经常在网上搜罗资源的朋友可能会发现, 很多网站喜欢将小图标拼在一个图片文件里. 然后在 CSS 中通过 background-position 定位访问图标, 访问量大的网站尤是如此. 为什么呢? 分开管理不是更加灵活吗?
大家都这么做当然有它的优点, 但这同样存在缺点.
优点:
1. 1 + 1 < 2
图标放在一起, 可以令图标的总容量稍小一点. 这不是最重要的, 但我可以告诉你, 很多程序员都是完美主义者.
2. 让连接次数大量减少
用过 Opera 的朋友可能会对它那个显示图片下载的进度条印象很深, 它会显示 “已下载图片/图片总数”. 对于 Web 服务器上的每个独立资源, 都需要去连接和获取的. 所以大家都设法将很多图标放在一个图片上, 连接一次就全部取回来. 这也许是一图多标的主要目的.
3. 让浏览器将图标预先下载
浏览器为了尽快地显示页面, 一般只是将打开页面时用到的图片下载到本地, 而一些可能用到, 但没有立刻被用到的图片需要在应用的时候再进行下载. 最经典的例子可能是导航菜单的 Tab 图标, 如果普通状态的 Tab 图标和鼠标悬停时的图标都是独立放置的, 那么当你鼠标移动到 Tab 按钮时, 图标才开始下载, 这样会带给用户很不好的视觉效果. 所以我觉得遇到这种情况时, 将多个图标合并在一起的处理是必须的.
缺点:
1. 图片难以管理, 难以定位
如果你要更换一个图标, 那么你需要编辑整个大图片. 如果你要改变一个图标的大小, 很可能你需要重新计算它的位置, 甚至无从下手, 只能在别的位置再添加一个图标.
2. 2 > 1
两个图标合成的图片是肯定比其中一个图标独占的图片大的, 也就是说, 下载这个图片所需的时间将比单独一个图标用的时间长. 浏览器显示图片一般都是下载完则显示或者边下载边显示的, 如果你那几个图标组成的图片容量比较大, 那么它们不能逐个显示予用户, 会造成很不好的用户体验.
应用:
1. 让图标尽量排列得有规律
有规律地排放的图标跟容易定位和维护, 这里的间隔可以使用 16, 32, 48, 96 等标准尺寸.
2. 将背景颜色一致的图标放置在一起
如果背景颜色不一样, 最好分为两个或多个图片放置, 特别是背景颜色相近的, 很容易混淆.
3. 将相同栏目的图标放置在一起
这样可以少写一些 CSS 代码. 设置一个 background, 再在每个项设置 background-position 就行了.
4. 不要将大图绑在一块
大部分用户都不会耐心地等待页面的所以文件被下载完毕再进行阅读, “不耐烦” 会驱使他们去点 close.
拓展:
万物都是相通的, 软件和互联网技术也一样. 如果图片作为网络资源需要每个进行连接来获取, 那么 .js 文件和 .css 文件也是如此. 我们应该将可能放在一起的资源绑起来. 这样可以为你省下一些资源, 也可以满足你追求完美的虚荣.
但切忌过度. 并不是所有东西都可以绑一块的, 没有人会将洗衣粉和饼干缠在一起的. 将有相关性的, 或者特别零碎的放在一起都是可以的, 我相信聪明的你一定会有自己的一套分类方法.
转自:http://blog.163.com/ql_cn0304/blog/static/173706313200972884442594/
相关推荐
CSS Sprites图片背景优化技术是一种常见的前端性能优化策略,它将多个小图像合并到一张大图(称为sprites图)中,然后通过CSS的background-position属性来控制显示其中的某一部分。这种方法可以显著提高网站的加载...
4.2.3 背景定位 4.2.4 背景滚动 4.2.5 背景属性缩写 4.2.6 基于背景控制的导航优化 4.3 使用列表元素 4.3.1 ul无序列表 4.3.2 ol有序列表 4.3.3 改变项目符号样式 4.3.4 使用图片自定义项目符号 4.3.5 使列表变为...
在深入学习CSS3的基础上,本章将进一步探讨CSS3中的高级选择器及其应用,旨在帮助学生更好地控制网页样式的细节。学习内容包括: - **属性选择器**:掌握如何根据HTML元素的属性值来选择元素。 - **关系选择器**:...
总结,CSS滑动门技术是一种巧妙地利用CSS背景图像和定位来创建动态效果的方法,尤其适用于创建导航菜单和按钮。通过理解其工作原理和实现方式,开发者可以创造出富有吸引力的用户界面,提升网站的整体设计质量。
* 必须明确必要的理论知识的生化与知识层面的拓展 * 不能局限于单纯的技能训练 * 以能力的培养为重点 * 以就业为导向 * 培养学生具备职业岗位所需的职业能力 * 职业生涯发展所需的能力和终身学习的能力 * 实现一站式...
在模拟百度首页的过程中,CSS将被用来定义文字的字体、颜色、大小、布局、背景图片、边框样式等视觉效果。 HTML5则是最新的超文本标记语言标准,它增强了网页的语义性和可交互性。在模拟百度首页的HTML文件中,可能...
这一章节介绍了CSS的基本概念,包括其历史背景、工作原理以及如何在网页中使用。了解CSS的历史可以帮助读者理解其设计哲学,而工作原理则涉及CSS如何被解析和应用于HTML元素,以及CSS规则是如何在浏览器中被层叠和...
### 知识点一:HTML5与CSS3在情人节表白网页中的应用 #### HTML5基础结构 - **文档类型声明**: `<!DOCTYPE html>` 定义文档类型为HTML5。 - **基本文档结构**: `<html lang="en">` 用于指定语言环境;`<head>` 包含...
这个项目的主要目标是教你如何利用CSS设计一个静态的电商界面,让你能够在实践中巩固和应用所学的基础知识。 在开始这个项目之前,你需要了解HTML(超文本标记语言)和CSS(层叠样式表)的基本概念。HTML负责网页的...
总之,"学成在线案例的图片和代码资源"是一份宝贵的自学资料,无论你是刚接触网页开发的新手,还是希望巩固和拓展CSS技能的开发者,都可以从中受益。通过动手实践,你可以更深入地理解和掌握HTML和CSS,为你的网页...
6. CSS选择器:使用元素选择器、类选择器和ID选择器来定位并应用样式。 7. 响应式设计:使用媒体查询(media queries)让网页适应不同设备的屏幕尺寸。 完成这些练习后,你应该能够熟练地创建结构清晰、样式丰富的...
《CSS3 Loading加载特效详解与应用》 在网页设计中,加载特效是用户体验的重要组成部分,它能在用户等待页面内容加载时提供视觉反馈,减少用户的焦虑感。随着技术的发展,CSS3已经成为实现各种复杂动画和特效的主要...
2. 利用CSS对图片进行定位和样式设置,确保它们在容器内层叠排列,横向平铺。 3. 编写jQuery脚本,初始化轮播状态,例如设置初始索引、自动轮播计时器等。 4. 编写切换函数,根据不同的切换方向(向前或向后)使用...
标签“css 前端”则进一步强调了该模板在前端技术的应用,重点在于CSS在网页设计中的作用。在前端开发中,CSS与HTML(超文本标记语言)和JavaScript等技术相辅相成,共同构建了一个动态、交互的网络界面。HTML负责...
通过上述知识点的整理,可以看出文章着重强调了应用型人才培养在网页设计与制作课程中的重要性,并提出了具体的方法和措施以促进课程内容和教学方法的更新,从而更好地适应时代发展的需求和提高学生的综合能力。
在这个项目中,JavaScript被用来实现诸如图片轮播、表单验证等功能,增强了用户体验。 #### 三、项目细节分析 1. **页面结构与布局**: - **布局结构**: 采用了浮动布局结构,这是一种非常成熟且兼容性良好的布局...
- CSS选择器用于定位特定元素,并对其应用样式规则,如`.classname`用于定位类名为`classname`的所有元素。 4. **JavaScript语法及使用方法**: - JavaScript是一种客户端脚本语言,可以用来实现网页的动态效果。 ...
通过将内容放入不同的`<div>`标签中,并利用CSS对这些标签进行样式设置(如定位、尺寸、边距等),可以实现网页的灵活布局。 - **盒子模型**: 盒子模型是CSS布局的基础,涉及到`margin`(外边距)、`border`(边框...