wordpress 主题教程:宽度和布局 -云顶国际

宽度和布局是 从零开始创建 主题系列教程 的第十一篇,这篇将介绍如何设置每个 div 的宽度和布局排版,并且也会展示如何让主题显示正确,并同时在 firefox 和 ie 下兼容,显示一致。

在我们开始之前,打开 xampp control主题文件夹firefox 浏览器,ie 浏览器,index.phpstyle.css这两个文件。

第1步:设置页面总体宽度

现在我们首先要确定的是主题的总体宽度。我们使用 750px;主题的大小取决于博客绝大多数访问者的屏幕分辨率。

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

我们需要把现在主题中的所有的东西(header,container,sidebar 和 footer)放入一个 750px 的 div 标签中。

在  之后增加:

在  之前增加:

在 style.css 文件中输入以下代码:

#wrapper{
margin: 0 auto 0 auto;
width: 750px;
text-align: left;
}

在 css,# 号是通过 id 来定位页面中的元素,而点号是通过 class 来定位页面中的元素,如果你的代码是 

,那么就应该用 .wrapper 来替代 #wrapper 去定位 wrapper这个 div 标签。

同时保存 index.php 和 style.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;
}

header 和 footer 的样式有什么区别呢?答案是 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.php 和 style.css 文件应该和教程源代码文件夹中的 index-lesson-11.txt 和 style-lesson-11.txt 一致了。

标题内容

  • 主题教程:从零开始制作 主题
  • 主题教程:介绍 (1)
  • 主题教程:模板文件和模板 (2)
  • 主题教程:开始 index.php (3)
  • 主题教程:header 模板 (4)
  • 主题教程:header 模板 2 (4-2)
  • 主题教程:主循环 (5)
  • 主题教程:日志内容 (5-2)
  • 主题教程:日志元数据 (5-3)
  • 主题教程:else,日志 id,链接标题 (5-4)
  • 主题教程:日志导航链接 (5-5)
  • 主题教程:侧边栏 (6)
  • 主题教程:页面链接列表 (6-2)
  • 主题教程:存档和链接列表 (6-3)
  • 主题教程:搜索框和日历 (6-4)
  • 主题教程:窗体化侧边栏 (6-5)
  • 主题教程:底部 (7)
  • 主题教程:验证 xhtml (8)
  • 主题教程:style.css 和 css 介绍 (9)
  • 主题教程:十六进制颜色代码和样式化链接 (10)
  • 主题教程:宽度和布局 (11)
  • 主题教程:日志样式化和其他杂项 (12)
  • 主题教程:样式化侧边栏 (13)
  • 制作 模板 必看:功能函数调用集合
         
网站地图