页面元素

  使用text-align性质可以居中显示块级元素中的文字。把margin-left和margin-right设为auto时,该元素则会相对于父元素居中显示。但是现在流行的一些较低版本的浏览器无法正确地渲染这种外观,如IE5和Netscape Navigator。如果使用了HTML表格中的th元素,单元中的内容是默认居中显示。在水平居中的基础上,可以垂直居中,需要使用到position属性。即

position:abasolute;
top:50%;
left:50%;
margin-top:xx;
margin-right:xx;
height:xx;
width:xx;

局对定位可以使元素脱离文档局流的限制,显示在任何预期的位置。

  如果在Safari浏览器上要使水平线居中显示,应将margin-left和margin-right设置为auto,但对于Mozilla、Firefox、Navigator和IE浏览器,margin值的设置可有可无。改变hr元素的颜色时,考虑到网页在跨浏览器上的健壮性,应同时设置color和background-color属性,因为IE/Win只能识别hr元素的color属性,而Safari、Mozilla、Firefox和Netscape Navigator 6+则支持background-color属性。

列表

  不同浏览器会用不同的手段缩进列表。Mozilla和Netscape 6+浏览器用padding值实现缩排,而IE和Opera则使用margin实现。为了获得跨浏览器效果,需要同时设置列表的margin-left和padding-left值,并利用其中一个属性设定缩进值。如果把缩进值分成两部分,分别在margin和padding 2个属性中声明,将导致列表外观在不同浏览器上的不一致。但列表是body的直接子元素时,如果把margin和padding设为0,列表项标记将超出浏览器的视窗范围。为了使列表项标记停留在视窗可见范围内,至少要将ul的margin-left或padding-left设为1em。

链接和导航

 超链接伪类在层叠的优先级方面是相等的,因此为了避免冲突应按照以下顺序应用这些魏磊:link、visited、hover,最后是active。这个顺序的速记规则是“LoVe/HAte”(规则中的大写字母取自4个伪类的首字符)。无论是已访问的链接还是未访问的链接,都可以同时激活hover和active状态。由于超链接魏磊在叠层显示方面的等级相同,因此最后声明的伪类样式才是用户看到的样式,这就是为什么有时:hover失效的原因。根据叠层规则,如果:hover出现在:active或:visited之前时,hover状态将被因此。

 表单

  1.问题:如何体系用户表单的哪些部分是必需的。

  回答:首先,在要求填写的域的表单标签旁放置警示图标和文字。随后,为成功提交表单所必须填写的域及域对应的标签添加class属性,并将属性值设定为required。接着应用CSS规则改变表单的文字及边框颜色。

 表格

  HTML表格有两种边框模式(model):collapse和separate。collapse模式下表格单元共享边界;separate模式下表格单元有各自的独立边界线。目前除了Firefox使用separate作为默认边框模式,其余浏览器均使用collapse模式。由于CSS标准没有指定这个特性,为了应对新生代浏览器默认模式不一致的情况,应该在CSS规则中莫雀设置collapse模式。用border-collapse属性把边框模式改为collapse的代码如下;

table{
border-collapse:collapse;
}

  表格标题用于描述表格中的内容,一般应该放在表格元素后,thead或tr表格元素之前。标题元素的渲染可能会因浏览器而异。但是caption元素生成的标题在任何浏览器中都可以显示,可以通过CSS样式画,并且利用caption显示表格标题是最具可访问性的方式。

  1.问题:消除只包含一副图片的单元格内的空白。

  回答:把img元素的display属性改为block,作为块级元素显示。

td img{
display:block;
}

由于图片是inline元素,所以浏览器会将图片元素显示在文本内容的基线上方。将图片改成块级元素,会强迫浏览器用不同方式渲染图片。此外,不使用单元格的底边作为问不了内容的显示基线。因为一些字符(如g、p、q和y)是下行字符,这些字符的“底部”会悬挂在基线之下。由于基线实际上是整个文字尺寸的一个比例,所有无法简单地删除基线和下行空间。指示浏览器用其他方式渲染图片文件,能避免浏览器自动生成下行空白区。有时将图片的display属性设为block不一定是删除单元中图片周围的空白区域的最好办法。如果遇到这种情况,可以使用另一种方法删除空白:只要图片高度大于行高,那么将图片的vertical-align属性设为bottom即可。

  2.如何删除单元格之间的空白。

  回答;把表格设置成collapse边框模式,即border-collapse:collapse。

页面布局

  一旦图片的align属性设定为right或者left,图片周围的内容就会流动到图片align属性所取值的反侧。如果图片是右对齐,图片周围的内容就会被强制流动到左侧。

  把position属性设为absolute,可以让元素完全脱离文档布局流的控制。当一个元素被设为浮动时,页面上其他元素会流动在这个“被浮动”元素的周围。但元素被设为绝对定位时,这个元素的处理方式会与常规情况完全不一致。默认情况下浏览器渲染一个绝对定位的元素,会将该元素放在距它最近的绝对定位的诛仙元素或初始包含块的左上角。换句话说,要将父元素中的某个子元素设为绝对定位,首先应将position属性设为absolute或relative(非static)。如果页面上还有其他元素,这个绝对定位的元素会覆盖页面上的其他内容。为了避免这种情况的发生,可以应用一些传统的CSS属性:top、left、bottom及right,这些属性能将元素移动到页面上的任何位置。

  实现“任意顺序列”的方法是通过灵活地使用margin属性来完成的;正的margin值用于预留空间,而负的margin值用于改变各列的原始位置。

  页面布局算法(是一种计算列的附属歪边咀值的简单算法,用于计算如何重新排布列):

  1.对于要将外边距赋负值的列,首先计算出源代码中该列之前所有列的极右点(最右边的那一点)。

  2.然后找到该列的极左点。

  3.最后,用极左点的值减去极右点的值得到元素的左外边距值。

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

  1. Head First HTML与CSS阅读笔记(二)

    上一篇Head First HTML与CSS阅读笔记(一)中总结了<Head First HTML与CSS>前9章的知识点,本篇则会将剩下的10~15章内容进行总结,具体如下所示. div ...

  2. HTML+CSS学习笔记整理二

    盒子模型CSS(重点) 边框border     边框通常使用连写border:1px(边框大小) solid(实线或其他)  red(颜色) border-collapse:collapse (合并 ...

  3. css布局笔记(二)Flex

    flex Flex是"Flexible Box"的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可指定为Flex布局. .box{di ...

  4. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二

    今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...

  5. Django学习笔记(二):使用Template让HTML、CSS参与网页建立

    Django学习笔记(二):使用Template让HTML.CSS参与网页建立 通过本文章实现: 了解Django中Template的使用 让HTML.CSS等参与网页建立 利用静态文件应用网页样式 ...

  6. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

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

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

  8. css学习笔记四

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

  9. 转:CSS选择器笔记

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

  10. 《JavaScript面向对象编程指南(第2版)》读书笔记(二)

    <JavaScript面向对象编程指南(第2版)>读书笔记(一) <JavaScript面向对象编程指南(第2版)>读书笔记(二) 目录 一.基本类型 1.1 字符串 1.2 ...

随机推荐

  1. VC加载显示bmp图片的函数

    void ShowBitmap(HDC hdc,const char *srcpath) { HBITMAP hBitmap = (HBITMAP)::LoadImage(0, srcpath, IM ...

  2. Windows入门基础:2.vs2013中Icon显示

    第一:系统小图标的显示 wndclass.hIcon = LoadIcon(NULL,IDI_WARNING); //LoadIcon函数的第一的参数要为0,第二个参数是系统自定义的ID号: IDI_ ...

  3. WebGL 创建和初始化着色器过程

    1.编译GLSL ES代码,创建和初始化着色器供WebGL使用.这些过程一般分为7个步骤: 创建着色器对象(gl.createBuffer()); 向着色器对象中填充着色器程序的源代码(gl.shad ...

  4. gulp 学习笔记

    以这次学习gulp为契机来同时了解和学习node相关的知识和概念,比如 npm,package.json等,为以后学习node打好基础. 目录   npm     查看模块     安装模块      ...

  5. Java中的socket通信

    socket又称套接字,应用程序通常通过"套接字"向网络发出请求或应答网络请求 建立过程:服务器监听-客户端发出请求-建立链接-通信 特点:1.基于tcp链接,数据传输有保障,2. ...

  6. 装饰器模式(Decorator)——深入理解与实战应用

    本文为原创博文,转载请注明出处,侵权必究! 1.初识装饰器模式 装饰器模式,顾名思义,就是对已经存在的某些类进行装饰,以此来扩展一些功能.其结构图如下: Component为统一接口,也是装饰类和被装 ...

  7. Asp .Net MVC4笔记之目录结构

    认识MVC从目录结构开始,从基本创建开始. App_Data 文件夹:App_Data 文件夹用于存储应用程序数据. App_Start:启动文件的配置信息,包括很重要的RouteConfig路由注册 ...

  8. Java设计模式:工厂模式

    问题提出 Java的工厂模式与现实生活中的工厂的模型是很相似的.工厂是用来做什么?当然是用来生成产品.因此在Java的工厂模式的关键点就是如何描述好产品和工厂这2个角色之间的关系. 下面来仔细描述一下 ...

  9. MapReduce中一次reduce方法的调用中key的值不断变化分析及源码解析

    摘要:mapreduce中执行reduce(KEYIN key, Iterable<VALUEIN> values, Context context),调用一次reduce方法,迭代val ...

  10. [Java自学第二天]

    Java封装性思想的初步理解 从项目需求的角度出发,建立各个模块化的类,各个模块暂时不需要具体的方法描述,只需要各个模块的理想到位. 以银行项目为例 初步设想需要三个模块:银行(Bank类).客户(C ...