宽度和规划是从零开端创立 WordPress 主题系列教程的第十一篇,这篇将引见如何设置每个 DIV 的宽度和规划排版,并且也会展现如何让主题显现正确,并同时在 Firefox 和 IE 下兼容,显现分歧。

在我们开端之前,翻开 Xampp Control,主题文件夹,Firefox 阅读器,IE 阅读器,index.php 和 style.css 这两个文件。

第 1 步:设置页面总体宽度
如今我们首先要肯定的是主题的总体宽度。我们运用 750px;主题的大小取决于博客绝大多数访问者的屏幕分辨率。需求防止的是运用过大宽度的 的主题,假如博客的读者都大多数运用 800px × 600px 的屏幕,这样的话,假如是运用 900px 宽的主题将会有 100 多像素超出他们的屏幕,显然这是对用户很不友好的。

不论怎样,我们怎样样把主题的总体宽度设置为 750px 呢?

我们需求把如今主题中的一切的东西 (header,container,sidebar 和 footer) 放入一个 750px 的 DIV 标签中。

<body> 之后增加:<div id=」wrapper」>

</body> 之前增加:</div>

style.css 文件中输入以下代码:
#wrapper{
margin: 0 auto 0 auto;
width: 750px;
text-align: left;
}

在 CSS,# 号是通过 id 来定位页面中的元素,而点号是通过 class 来定位页面中的元素,如果你的代码是 <div class=」wrapper」>,那么就应该用 .wrapper 来替代 #wrapper 去定位 wrapper 这个 DIV 标签。

同时保存 index.phpstyle.css 文件。刷新 Firefox 和 IE 浏览器 (按 F5) 查看所做的改动。

详细解释:

  • margin: 0 auto 0 auto; 意思是 (注意顺序):0 上页边空白自动右页面空白0 下页边空白自动左页面空白。从现在开始,记得设置左右页边空白为自动将使得居中对齐。
  • width: 750px; 显而易见是 750 像素。
  • text-align: left; 是让 wrapper DIV 中的文本向左对齐因为我们等下要要将 body{ text-align: left;} 改成 text-align: center;

第 2 步:自动页面居中

body{} 中的 text-align: left; 改成 text-align: center;

为什么?(我假设你使用的是 Firefox 和 Internet Explorer 6) 。你的布局可能你看起来是正确的,但对于使用早前版本的 IE 用户可能不正确。还记得设置左边和右边的页边空白为自动是居中吗?但是这并不是对所有的 IE 都适用,所以 body{ text-align: center; } 是让 wrapper DIV 居中在旧版本 IE 的一种解决方案。

(随便说一下,在 Firefox 和 IE 中文本大小是不同的,我们稍后解决。)

第 3 步:设置 header 宽度和布局

Header 浮到左边并且设置它的宽度为 750px:

#header{
float: left;
width: 750px;
}

第 4 步:设置 Container 宽度和布局

Container 浮到左边并且宽度为 500px:

#container{
float: left;
width: 500px;
}

第 5 步:设置 Sidebar 宽度和布局

Sidebar 浮到左边,宽度为 240px,并且给它灰色的背景:

.sidebar{
float: left;
width: 240px;
background: #eeeeee;
}

#ffffff 是白色而 background: #eeeeee; 是非常浅的灰色。我们给侧边栏增加一个背景颜色只是去查看当增加剩下的 10 像素之后的不同之处。

第 6 步:设置 Footer 的宽度和布局

Footer 浮到左边,左右两边都没有东西,并且宽度为:750px:

#footer{
clear: both;
float: left;
width: 750px;
}

HeaderFooter 的样式有什么区别呢?答案是 footer{} 中有 clear: both; 。它在那儿使得 Footer 不能和它上面的东西 (如 Sidebar 或者 Container) 连接起来。

保存并刷新浏览器。

第 7 步:给侧边栏增加其余的 10 像素

给侧边栏增加其余的 10 像素的页边空白。现在侧边栏的 CSS 应该是:

.sidebar{
float: left;
width: 240px;
background: #eeeeee;
margin: 0 0 0 10px;
}

保存并刷新浏览器去查看 10 像素的空白增加到侧边栏的左边了。

margin: 0 0 0 10px; 具体的意思是:上边空白为 0,右边空白为 0,底部空白为 0,左边空白为 10 像素。当大小为 0 的时候,px 单位不是必需的。

第 8 步 (额外的步骤):修正 IE 的双倍页边距 bug

Internet Explorer 有个双倍页边距的 bug,这样在 IE 下,我们的页面距就是 20 像素,20 像素的页边距可能会破坏布局并把侧边栏挤到页面的底部,因为一个 20 像素的页边距使得 Container 和 Sidebar 的宽度之和为 760px 而不是 750px 。为了解决这个问题,增加 display: inline; 到侧边栏。现在你的侧边栏应该是:

.sidebar{
float: left;
width: 240px;
background: #eeeeee;
margin: 0 0 0 10px;
display: inline;
}

这里是现在的 index 和 style 文件的内容。