概要

  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. 原生tab切换

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  2. JS中遍历语法的比较

    for循环 JavaScript 提供多种遍历语法.最原始的写法就是for循环.(假设myArray是数组,下面同理) let arr = [1,2,3,4,5]; for (var index = ...

  3. Java中执行shell笔记

    在java中执行shell有好几种方式:第一种(exec)方式一 public static synchronized void runshell2() {    File superuser = n ...

  4. "!function",自执行函数表达式

    如题为自执行函数表达式.在这种情况下,解析器在解析function关键字的时候,会将相应的代码解析成function表达式,而不是function声明.下面2个括弧()都会立即执行 (function ...

  5. npm 配置和安装 express4.X 遇到的问题及解决

    前言:懒得看前面两篇介绍的也可以从本节直接参考,但建议最好了解下,因为 4.X 的express 已经把命令行工具分离出来 (链接https://github.com/expressjs/genera ...

  6. Centos安装MySql、Java、Tomcat

    一.安装MySql 安装MySql yum install -y mysql-server mysql mysql-devel 启动MySql服务 service mysqld start 为root ...

  7. SEO -- WordPress怎设置百度站长链接自动提交

    百度站长平站更新了主动推送(实时)推送的方式,受到了广大站长的好评,但是对于使用WordPress的网站来说怎么设置自动提交呢,在这里介绍一种比较简单且有效的方法.我们可以使用 WP BaiDu Su ...

  8. Ranklib源码剖析--LambdaMart

    Ranklib是一套优秀的Learning to Rank领域的开源实现,其中有实现了MART,RankNet,RankBoost,LambdaMart,Random Forest等模型.其中由微软发 ...

  9. VS2017 Cordova Ionic2 移动开发-环境搭建

    1. 文档概述 本文档用于说明Visual Studio 2017下使用 Ionic 2进行跨平台开发的运行环境配置. 2. 安装环境 Windows10 3. 安装 Visual Studio 20 ...

  10. sql server 数值的四舍五入

    sql中的四舍五入通常会有round  和cast( …… as decimal())两种方式: 个人建议使用cast  方式: 方式1: 经过试验,同样都可以做到四舍五入,但round如下实例1会报 ...