页面元素

  使用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. 测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇

    测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇   在前面我分享了几个新浪微博的自动化脚本的实现,下面我们继续实现新的需求,功能需求如下: 1,登陆微博 2,抓取评论页内容3,用正则表 ...

  2. SVG格式转Visio的vsd格式方法,附带C#动态调用Office的Com组件方法

    SVG格式可以直接显示在网页上面,用来实现诸如统计Chart图表.流程图.组织结构图的功能.为了使图像可以下载下来以便于修改,可以将SVG转为Visio的vsd格式.方法很简单,主要是使用Visio组 ...

  3. C++ fstream 详解

    最近在写哈夫曼压缩,遇到了一个比较让人头疼的问题,那就是对文件的读写操作,尤其是以二进制的形式来读写,无奈C++Primer第五版上写的并不详细,很多让人困惑的地方没有涉及或者没有讲清楚.于是这几天我 ...

  4. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十一)数据层优化-druid监控及慢sql记录

    本文提要 前文也提到过druid不仅仅是一个连接池技术,因此在将整合druid到项目中后,这一篇文章将去介绍druid的其他特性和功能,作为一个辅助工具帮助提升项目的性能,本文的重点就是两个字:监控. ...

  5. superslide2插件

    地址:http://www.superslide2.com/ 做自适应要注意该宽度和高度 等比缩放

  6. 【DevExpresss】3、LookUpEdit详解(转载)

    [DevExpresss]3.LookUpEdit详解 哈,今天又用到了LookUpEdit控件,主要是用来实现模糊查询和自由输入功能,然而由于长时间没用了,一阵手忙脚乱的,这里把网上收集的一部分教程 ...

  7. 泛型(CSDN转载)

    函数的参数不同叫多态,函数的参数类型可以不确定吗? 函数的返回值只能是一个吗?函数的返回值可以不确定吗? 泛型是一种特殊的类型,它把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候进行. 下面 ...

  8. A GDI+ Based Character LCD Control

    This is a renew. A GDI+ Based Character LCD Control by Conmajia Character liquid crystal display (LC ...

  9. Java 设计模式(四)-工厂方法模式 (FactoryMethod Pattern)

    1     概念定义 1.1   定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 1.2   类型 创建类模式 2     原理特征 2.1   类 ...

  10. 在spring boot环境中使用fastjson + redis的高速缓存技术

    因为项目需求,需要在spring boot环境中使用redis作数据缓存.之前的解决方案是参考的http://wiselyman.iteye.com/blog/2184884,具体使用的是Jackso ...