Post babble here...
这个例子中,CSS页面空白的属性是:
#page { margin-top:5px; margin-right: 100px;
margin-bottom: 5px; margin-left:100px; }
#header { margin-top:5px; margin-right: 5px;
margin-bottom: 5px; margin-left:5px;}
#content { margin-top:5px; margin-right: 20px;
margin-bottom: 5px; margin-left:20px; }
.post { margin-top:5px; margin-right: 5px;
margin-bottom: 5px; margin-left:5px; }
仔细观察这个编码,会发现更改header 上的页面空白,不起作用,因为标头页面空白本来是由page 空白控制的。这里正显示了母/子关系。母page 告诉子header 做什么,但是子header想要做其它的事情。
如果我们更改了page 左边和右边的空白,便解决了header 的问题,但是我们又由此产生了另一个问题。母page 的影响继续存在,现在所有的内容都扩展在整个网页上。要更改content 左边和右边的空白,这样又有很宽的页面空白了。要使得整个页面看起来合适,新的页面空白看起来像:
#page { margin-top:5px; margin-right: 5px;
margin-bottom: 5px; margin-left:5px; }
#header { margin-top:5px; margin-right: 5px;
margin-bottom: 5px; margin-left:5px;}
#content { margin-top:5px; margin-right: 100px;
margin-bottom: 5px; margin-left:100px; }
.post { margin-top:5px; margin-right: 5px;
margin-bottom: 5px; margin-left:5px; }
隔离你的 CSS Challenges
识别母/子关系对于网页的布局的影响,能够帮助解决许多问题,但是有时候,母/子关系非常复杂,很难了解哪个部分是哪个部分,哪个部分影响了哪个部分。
要隔离和确认不同的CSS部分,divisions和classes,下面有几个简单的方法。开始之前,要确定给所有的主要文件包括CSS都做了备份,以确定当处理不当的时候,你还能够返回到原文件。
一旦确定了错误根源并且解决了问题,确定要移除这些测试特色,这样网页又会看起来"正常"。
给每个部分加边框
一旦确认了HTML网页不同的部分或者divisions,进入你的CSS文件,并且给不同的部分,添加以下的属性:
border:solid 1px color
在颜色的位置,为每个部分替换一个不同的颜色名称。
例如:
#page { margin:5px; padding:0; border: solid 1px red; }
#header { margin: 10px; padding: 5px; border: solid 1px blue; }
#content { margin:5px 100px 5px100px; padding:10px;
border: solid 1px green; }
.post { margin:5px; padding:10px; border: solid 1px yellow; }
保存CSS文件,并且网络浏览器上的网页(点击刷新按钮或者F5)。在每个部分的部分上,你会看到一个不同颜色的框。
这是红色的框中突出的另一个部分。
这是返回正常形式的文本的剩余部分。
如果在内容的周围,你没有看见一个带有颜色的框,核查你更改的选择器,有没有正确地拼写了,有没有在HTML中得到了识别。
如果问题源于蓝色的框,那么你知道可以从哪里开始解决问题。完成后,确定移除了测试属性。
如果你使用Firefox作为浏览器,有一个便利的插件能够帮助你解决问题,使得解决css问题变得非常简单。这个插件称为Aardvark,而且可以在http://www.karmatics.com/aardvark/ 免费得到。测试运行有一个演示程序。
突出某部分
除了在不同部分的周围加上边框,隔离有问题的CSS或者HTML外,你可以快速地更改文章的内容的颜色,使得问题一下子"出现在"你的眼前。通过更改字体的颜色和某个部分的背景色,当你查看网页的时候,你一眼就能发现问题所在。注:确定记录了原始的颜色,这样即使测试时更改了颜色,随后也可以返回原色。同时,要不断地做文件备份!
在CSS文件中,你可以通过向选择器的属性添加color:red ,或者任何其它的颜色,来更改一个部分的字体颜色,如:
H1 { font-style:bold; font-size: 125%; color: red; }
H1标题呈现给你的是明亮的red 而且看起来像:
要更改某个部分的背景色,你可以添加background:pink ,使得整个背景呈现pink 。
#header { margin:5px; padding: 10px; background:pink; }
结果可能看起来像:
This is some text that goes on babbling here and there.
This is some text with the background color changed so you can see it.
这些文本更改了颜色,这样你能够看到这些文本。
这是返回正常形式的其余的文本
整个标头部分现在拥有一个粉红色 背景。当你识别了问题所在,并且解决了问题后,要确定移除了所有的测试属性,以重建网页外观。
确认源代码
有时候,一个极小的错误会使得你的网页变得紊乱。一个拼写错误的标签(rhef 而不是 href ),一个忘记关闭的标签,一个丢掉的属性,或者甚至错误的属性,都会使你的网页陷入紊乱。
免费的在线确认器能够帮助你检查HTML,XML和CSS编码,帮助你处理丢掉的内容。当你浏览代码的时候,要跳过一些小错误非常简单。大多数在线确认器向你的站点输入URI(链接),开始确认,或者让你粘贴代码或者上传文件,让它确认。默认情况下,WordPress会确认默认的代码,但是如果你做了更改,一点小小的改动,都会使得网页变得一团糟。
不同的确认器检查不同的问题,因此如果你使用一个确认器不能够找到解决方法,你可以尝试使用另一个。许多validators甚至会推荐做一些其它的更改,但是先找到你的问题所在,再做更改。
要帮助你了解更多的关于确认的信息以及找到在线的确认器,我们在一篇称为确认一个网站 的Codex文章上,提供了一系列确认资源。
Slash and Burn - The Last Resort
不适用于胆小的人
注: 有两个Slash and Burn方法。如果你胆子较小,请查看第二个 。
如果你还没有缩小问题的范围,有一个方法可以使用,有时候称作"Slash 和 Burn",这个方法会帮助你缩小问题的范围。这种方法使用时不能够被干扰,需要你集中精力,需要完整的文件备份,确保你不会破坏,甚至网页设计中已经紊乱的那个部分。' 我们同时建议你熟悉HTML和CSS。
1.备份所有的文件。
2.在网络浏览器中打开一篇文章并且浏览>源代码。
3.将这个源文件以一个文本文档保存,称为"junk.html",保存到你的硬盘中的一个空的测试文件夹中。不要关闭这个文件。在这个过程中,这个文件都是打开的。
4.将你的CSS文件复制到同一个测试文件夹中。
5.如果你处理图形的时候,遇到了麻烦,将图形文件夹或者图形复制到测试文件夹中。
6.在junk.html源文件中,将类似:
的样式表reference更改为:
: 保存 junk.html 文本文件 (不要将它关闭)。
7.在测试文件夹中,双击junk.html 浏览你的浏览器中的文件。如果合适的话,你会看到带有图形的整个页面的布局。如果不行的话,再次检查样式表的链接reference。
8.在你的junk.html 文本文件中,转到问题开始发生的位置。进入上述的部分(包括有开始的和结束的标签的部分,例如:
babble...
:或者
babble...
:并且从开始标签到结束标签,突出整个部分,并且剪贴这个部分(Cntrl+X)。
9.保存文件。
10.在网页浏览器上刷新网页(F5或者点击刷新-如果出现了问题,你没有看到什么变化,按住SHIFT 键然后安装 F5 或者(在FireFox中)同时按住Cntrl+Shift+R)。
11.你会发现移除的部分,不见了。继续检查看看,问题是不是解决了,或者问题是不是除掉了。如果是的,那个移除部分就是问题所在,如果问题仍然存在,那么继续下面的步骤。
12.如果问题仍然存在,返回到
junk.html 文件,如果指针已经移动了,将鼠标指针放到你删除某个部分的位置。粘贴返回剪贴的部分(Cntrl+V)。从这里开始向上或者向下移动,并且在第十二步中重复第八步的操作。
在这个过程中的某个步骤中,你可能看到问题既没有解决,也没有消失。从一个大的部分开始,当你找到一个大的问题区域的时候,将这个区域切分为一些小的部分。最终,你会隔离产生问题的区域。注意确认有问题部分的CSS references并且开始更改CSS文件,解决问题。
温和 Slash and Burn
要使用slash和burn的温和 版本,而不是如上所述的删除整个部分,将这些部分剪切并且粘贴到记事本或者其它的文本编辑器中,这样你处理剪切和粘贴过程有所失误的时候,这个部分仍然得到了保护。处理这些的时候,要经常地做文件备份,以防万一 (什么你意想不到的情况发生!)。
常见错误
我们都犯错。单词"typo"并不是毫无缘由地得到了发明。下面是CSS的一些最常见的问题。
;拼写错误:众所周知,leftt 与left 不同,而且这可能导致某个内容本应该出现在网页的右边,最后却出现在了左边。在一个页面空白上放上一个30ps 可能得不到什么结果,但是30px 会起作用。拼写中遗漏字母的错误非常常见而且也很容易遭到忽视。幸运地是,CSS确认器总能够为我们找到这些错误。
;遗漏的详细信息:虽然你能够发挥创造力处理CSS,你仍然需要遵循一些基本的规则。每个选择器必须被标示为一个ID或者CLASS,除非这个选择器是一个HTML标签。必须被设置为选择器{ property: value; property: value; } 而且必须有括号,冒号和分号。缺少任何一样,什么结果都不会产生或者会出现奇怪的结果。CSS确认器经常会为你找到这些容易遗漏的详细信息。
;错误的选择器:如果所有优秀的设计本应该放在#context-text 而你却将其放在#content ,那么设计就不会对你的布局起作用。幸运地是,浏览网页的时候,你通常能够发现到这一点,因此你只需要将这些设计剪切并且粘贴到合适的标签上,就可以了…然后,要记住,你从#content 上删除了什么内容。当然,你可以查阅文件备份,找到丢失的代码。Hint-Hint!
;错误的模板模块:虽然WordPress新的模块模板很有用,用户许多时候会更改comments.php 而不是comments-popup.php 或者更改了其它名称类似的文件。仔细地检查,你应该 一直处理模块部分。如果你偶然地将每个模块搞糟了,可靠的文件备份,能够使得处理重新开始。
;多个选择:CSS不能够读懂你的思想。如果同一个选择器有两个references,而且这两个references信息相冲突,CSS需要决定使用哪个reference。如果你将最初的样式表放到了一个新的样式表的上方,这种情况出现很平常。如果你使用一个选择器,来争取,如h1 标题,但是什么内容也没有改变,搜索样式表看看,那个选择器是不是有另一个reference。
程序错误控制 –提防浏览器程序缺陷
不管我们怎么努力使我们的网页看起来更加地美观,在不同的浏览器上查看网页,会看到我们美丽的设计已经变得一团糟。
不同的浏览器阅读网页的方式不同。旧的浏览器不会识别新的CSS标准,然而新的浏览器与过去的浏览器"阅读"内容的方式是不同的。结果通常不尽人意,会产生内容的错位,移动,或者会丢失设计元素,更改布局,并且移动了位置。
你怎么知道是浏览器而不是你的设计,产生了问题?通常你不知道。如果你使用CSS有一段时间了,你就会了解一些征兆了。通常,有两个线索:
当你将鼠标移向一个链接的时候,链接和文本开始跳动。
特别的效果,例如filters看起来不是一样的或者根本就没有。
要帮助解决你的浏览器缺陷,请查看CSS解决浏览器程序缺陷 中的建议和资源。