概要

  CSS的优点:将表现和内容相分离;更好地控制页面布局;大大减少了文件尺寸;缩短了改版时间;提高了易用性。

  CSS全称层叠式样表(Cascading Style Sheets)。

  1.问题:如何最有效地使用类选择符和ID选择符?

  回答:但要在文档中多次引用同一个样式时可以使用类选择符,如果样式只使用一次,则可以考虑ID选择符。

  2.问题:如何让自己的网页标准化、合法化?

  回答:HTML4.01有3种文档类型:strict、transitional和framset。XHTML1.1有一种文档类型,但XHTML1.0有3种,就像HTML4.01一样,HTML文档中只能选择一种文档类型定义。文档类型(DOCTYPE),简称DTD,定义了HTML和XHTML稳定的建筑块,同时告诉浏览器和验证器你的文档使用的HTML或XHTML的版本。每一个Web页面都必须有文档类型声明,这个声明放在HTML元素之前,这样才能保证标签和CSS是符合标准的,浏览器才会用合适的文档类型来处理网页。XHTML要求必须有文档类型,否则页面就是无效的,浏览器也会陷入quirk模式,用意想不到的方式去解析页面,会讲网页标签的书写方式当成非法的。因此即使这些XHTML和CSS代码完美无缺,浏览器也不能正确地渲染页面。W3C组织提供了HTML验证器和CSS验证器,可用于检验文档的正确性。但如果没有文档类型定义,验证器也只能束手无策。没有定义文档类型,或者定义的文档类型比较老,或者文档类型的定义方式不正确,都会导致浏览器用quirks模式错误地渲染页面。有的情况下,与浏览器有关,部分内容会根据W3C的指示生成。

  3.问题:希望给予窗口定位元素,而不仅仅将元素局限于默认位置。

  回答:在样式表中用position属性进行绝对定位,并使用bottom、left属性,也可以一起使用进行元素定位。使用绝对定位来设计网页,内容的放置方式将不再受默认的页面布局流影响,我们可以利用CSS属性将元素很好不差地放在当前窗口或箱盒的任何位置。

网页排版

  1.问题:如何为网页中的文本设定字体。

  回答:使用font-family属性。可以给font-family设置多个值,各值以逗号分隔,告诉浏览器生成需要的字体。如果浏览器不能解释第一种字体,就会尝试去解释下一种,知道找到可以解释的字体为止。如果font名中包含空白,例如Times New Roman,则要用单引号或双引号把font名括起来。在font值列表的最后,应该插入一个通过用的字形体系(serif、sans-serif、monospace、cursive、fantasy)。

  2.问题:减少标题和段落之间的空白。

  回答:将标题和段落元素的margin和padding均置为0。为了消除视点(有时指浏览器窗口)和元素之间的空白,我们需要把body元素的margin和padding值设为0。

  3.问题:段落的首字符是大写字符。

  回答:p:first-letter{font-size:1.2em}

图片

  background-position属性包含了两个值,这两个值以逗号分隔。第一个值决定了点在x轴上的坐标,第二个值决定y轴上的坐标。如果只给出一个值,那么它代表了水平位置,垂直位置在这种情况下会被设为50%。将background-position设为50%意味着将图片放置于浏览器视窗的正中央。0%和100%也就是分别将图片放在视窗的左上角和右下角。除了百分比,还可以利用其他值定位,比如y轴方向可用为top、center和bottom,x轴方向的可用left、center和right。如果绑定使用这些值就可以将图片放置在视窗各边的八个点上。但是Netscape Navigator4不支持background-position属性,目前尚未找到用CSS解决局限的有效方法。

  GIF和JPEG是网站上最常用的两种图片格式,这两种格式以不同的方式压缩图片。GIF格式比较适合压缩色彩层次较简单的图片,而JPEG更适合用户压缩色彩层次分明的图形或相片。

  当创建流式布局或柔性布局时,列单元中的HTML文本会自动适应浏览器窗口大小的变化。然而,那些通常用像素来设置尺寸的图片却只能保持固定大小。为了使所有页面元素在柔性布局中按比例缩放,应该使用百分比来设置宽度和高度。但是如果用百分比设置图片的长宽,浏览器拉伸图片至一定限度时,将会破坏页面的布局和完整性。例如,过度拉伸JPEG图片,将使图片中几乎不可见的事物可见或者像素看起来不在其原来的位置且图形歪斜。为了解决这个问题,可以使用max-width属性设置图片宽度的最大值。

  没有绝对安全的图片。首先,为了提高加载页面的速度,图片会自动保存在浏览器和临时文件夹中。只有超过一定时间或者用户清楚浏览器缓存时,这些图片才会被删除。不过浏览器常会自动给这些图片重命名,大多数用户都不清楚这些缓存文件的位置。

  在用户浏览器渲染页面时,reflection.js中的Javascript代码将遍历整个网页搜寻class值为reflect的图片元素。然后脚本会根据要使用倒影的源图片创建一张新图片。一旦发现任何符合这些标准的图片,脚本就会复制并倒转图片,再将新图片的不清晰度(opacity)和高度都设为默认值50%。reflection脚本提供了两方面的定制:倒影的高度和倒影的不清晰性。为了调整倒影的高度,要给图片元素的class属性添加一个新的值,rheightXX。XX是复制的倒影图片的高度百分比。百分比值越大,倒影的高度就越高。为了调整倒影的清晰度,要在图片的class属性中引入另一个新的值,ropacityXX。XX是指倒影图片的透明度百分比值。随着opacity值的减少,倒影会变得越来越模糊。 

  

【CSS Cookbook】笔记摘要(一)的更多相关文章

  1. HTML+CSS学习笔记(3)- 认识标签(2)

    HTML+CSS学习笔记(3)- 认识标签(2) 1.使用ul,添加新闻信息列表 在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表.图片列表, 这些列表就可以使用ul-li标签来完成.ul-l ...

  2. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  3. HTML+CSS学习笔记 (7) - CSS样式基本知识

    HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ...

  4. HTML+CSS学习笔记 (6) - 开始学习CSS

    HTML+CSS学习笔记 (6) - 开始学习CSS 认识CSS样式 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏 ...

  5. HTML+CSS学习笔记(5)- 与浏览者交互,表单标签

    HTML+CSS学习笔记(5)- 与浏览者交互,表单标签 1.使用表单标签,与用户交互 网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务 ...

  6. HTML+CSS学习笔记(4) - 认识标签(3)

    HTML+CSS学习笔记(4) - 认识标签(3) 1.使用<a>标签,链接到另一个页面 使用<a>标签可实现超链接,它在网页制作中可以说是无处不在,只要有链接的地方,就会有这 ...

  7. HTML+CSS学习笔记(2) - 认识标签(1)

    HTML+CSS学习笔记(2) - 认识标签(1) 1.语义化,让你的网页更好的被搜索引擎理解 标签的用途: 我们学习网页制作时,常常会听到一个词,语义化.那么什么叫做语义化呢,说的通俗点就是:明白每 ...

  8. HTML+CSS学习笔记(1) - Html介绍

    HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...

  9. css学习笔记四

    广州天气变冷了,css学习笔记还是要总结. 总结: 1:几米页面静态页面主要是一列结构头部banner图,mainbody部分放文字内容和图书图片,底部是页面的版权信息 2:腾讯软件中心静态页面制作( ...

  10. 转:CSS选择器笔记

    作者: 阮一峰 日期: 2009年3月12日 去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记. 这几天拿出来看了一下,发现很多都忘记了.所以,我决定把它们贴在这里,方便以后查 ...

随机推荐

  1. 老李分享:《Linux Shell脚本攻略》 要点(四)

    老李分享:<Linux Shell脚本攻略> 要点(四)   1.IP地址的正则表达式: [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 2. ...

  2. iOS项目之模拟请求数据

    如何在iOS开发中更好的做假数据? 当工期比较紧的时候,项目开发中会经常出现移动端等待后端接口数据的情形,不但耽误项目进度,更让人有种无奈的绝望.所以在开发中,我们常常自己做些假数据,以方便开发和UI ...

  3. 在多个Activity中回传值(startActivityForResult())

    业务逻辑: MainActivity打开A,A打开B,B把值传回MainActivity.适用在多个Activity中回传值. 实例:微信中选择国家-->省份-->城市的实现 实现方式分析 ...

  4. Sphinx安装流程及配合PHP使用经验

    1.什么是Sphinx Sphinx是俄罗斯人Andrew Aksyonoff开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行. 全文检索式指以文档的全部文本信息作为检索对象的一种信息检 ...

  5. [原创] IAR7.10安装注册教程

    代码开发简单化的趋势势不可挡,TI 公司推出的 IAR7.10 以上版本,集成代码库,方便初学者进行学习移植.本教程详细列出IAR7.10安装以及注册步骤,不足之处望多多交流. 好了进入正题. 第一, ...

  6. Python 列表(List) 的三种遍历(序号和值)方法

    三种遍历列表里面序号和值的方法: 最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,特在情人节这一天写下了这篇博客,下面废话不多说,直接贴代码 #!/usr/bin/env pyth ...

  7. OpenCV畸变校正原理以及损失有效像素原理分析

    上一篇博客简要介绍了一下常用的张正友标定法的流程,其中获取了摄像机的内参矩阵K,和畸变系数D. 1.在普通相机cv模型中,畸变系数主要有下面几个:(k1; k2; p1; p2[; k3[; k4; ...

  8. Angularjs快速入门(二)

    说说上一节的例子,$scope 我们没有创建这个对象,直接绑定就能获取里面的对象,这种风格遵循了一种叫迪米特法则的设计模式. 然后angular还有一种很强大的功能叫“指令”. 就是你可以吧模板编写成 ...

  9. extern用法详解

    1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 另外,extern也可用来进行链接指定. 2 问题:ext ...

  10. [进程管理] Linux中Load average的理解

    Load average的定义 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树.如果一个进程满足以下条件则其就会位于运行队列中: - 它没有在等待I/O操作的结果 - 它没有主动进入等待状 ...