概要

  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. .Net 分布式技术比较

    内容转自于 http://www.mamicode.com/info-detail-585547.html .NET 分布式技术比较 1. MSMQ(Microsoft Message Queue) ...

  2. 【Android】error opening trace file: No such file or directory (2)

    1.问题描述: 运行报错: 12-25 13:35:32.286: E/Trace(1202): error opening trace file: No such file or directory ...

  3. (iOS)开发中收集的小方法

    1.颜色转变成图片 - (UIImage *)createImageWithColor:(UIColor *)color {     CGRect rect = CGRectMake(0.0f, 0. ...

  4. linux常用脚本

    转载于http://justcoding.iteye.com/blog/1943504 我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个l ...

  5. 修改Gradle 和Maven本地仓库的位置 方法

    关于Maven的配置: 用过Maven的兄弟应该知道Maven可以通过配置 conf文件夹下面的settings.xml文件来修改maven下载的包,默认是下在c盘的用户文件夹下的.m2中,日积月累. ...

  6. 接触响应式-css3-media判断屏幕分辨率

    // IE6.7.8不支持css3    使用响应式一般用bootstrap框架(IE8使用时须引用Respond.js)而不用原生JS 外联式: <link type="text/c ...

  7. 【2017-04-21】Ado.Nte属性扩展

    通过对数据库表的封装,对该表的属性进行扩展. 1.例如:表中的性别是bool类,要实现显示给用户看的为“男.女” 2.通过表中的生日datetime类,来实现显示给用户看的年月日,自动计算年龄. 3. ...

  8. Asp.Net 网站一键部署技术(上)

    用垃圾而不稳定的网速上传N次压缩包都传不上去? 手动决定哪些覆盖不覆盖? 覆盖了web.config又要手动修改连接字符串? 不注意把原有配置搞丢了? …… 貌似从此早下班和休假与你无缘了. 所以!! ...

  9. vue 调用高德地图

    一. vue-amap,一个基于 Vue 2.x 和高德地图的地图组件 https://elemefe.github.io/vue-amap/#/ 这个就不细说了,按照其文档,就能够安装下来. 二. ...

  10. SQL Server pivot 行转列遇到的问题

    前段时间开发系统时,有个功能是动态加载列,于是就使用了SQL Server自带的PIVOT函数进行行转列,开始用的非常溜,效果非常好.但是提交测试后问题来了,测试添加的列名中包含空格,然后就杯具了,功 ...