- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是编码、XHTML、CSS 和 PHP 领域的新手。这是我第一次尝试根据我对 CSS 的最低限度的了解来构建一个我理解的 3 列布局。
我感到困惑的是使用 overflow: auto
以及构建文档。
例如,我正在阅读教程 http://www.icms.info/website-howto/css-tutorial我认为这是令人费解的。因此,我根据我所知道的创建了一个 3 列布局。我更改了内容 div 标签的位置,使其刚好位于页脚 div 标签上方,而不是出现在导航上方。因此我的困惑是
问题一
为什么我必须更改我的内容 div 标签的位置(正如文章建议内容 div 标签位于导航 div 标签之上)?
<div id="container">
<div id="header">
header
</div>
<div id="content">
content
</div>
<div id="navigation">
navigation
</div>
<div id="news">
news
</div>
<div id="footer">
footer
</div>
</div>
到
<div id="container">
<div id="header">
header
</div>
<div id="navigation">
navigation
</div>
<div id="news">
news
</div>
<div id="content">
content
</div>
<div id="footer">
footer
</div>
</div>
问题二
为什么我不能在容器 ID 选择器中使用声明 overflow: auto
即
#container {
width: 750px;
margin: 0px auto;
border: 1px dashed #000000;
overflow: auto;
}
并且不得不求助于页脚选择器中的clear: both
?
完整代码
<meta http-equiv="Content-Type" content="text/html; charsetUTF-8" />
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="MSSmartTagsPreventParsing" content="true" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Sample</title>
<link rel="stylesheet" type="text/css" href="web.css" />
<style type="text/css" media="all">
* {
margin: 0;
padding: 0;
}
body {
background-color: #eeeeee;
font-family: arial, sans-serif;
font-size: medium;
}
#container {
width: 750px;
margin: 0px auto;
border: 1px dashed #000000;
}
#header {
height: 120px;
background-color: gray;
}
#content {
background-color: red;
width: 715px;
text-align: center;
}
#navigation {
background-color: orange;
float: left;
}
#news {
background-color: blue;
float: right;
}
#footer {
background-color: green;
clear: both;
}
</style>
<div id="container">
<div id="header">
header
</div>
<div id="navigation">
navigation
</div>
<div id="news">
news
</div>
<div id="content">
content
</div>
<div id="footer">
footer
</div>
</div>
编辑
@Phil.Wheeler 这就是我的起点;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtm1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charsetUTF-8" />
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="MSSmartTagsPreventParsing" content="true" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Sample</title>
<link rel="stylesheet" type="text/css" href="web.css" />
<style type="text/css" media="all">
* {
margin: 0;
padding: 0;
}
body {
background-color: #eeeeee;
font-family: arial, sans-serif;
font-size: medium;
}
#container {
width: 750px;
margin: 0px auto;
border: 1px dashed #000000;
overflow: auto;
}
#header {
height: 120px;
background-color: gray;
}
#content {
background-color: red;
width: 715px;
text-align: center;
}
#navigation {
background-color: orange;
float: left;
}
#news {
background-color: blue;
float: right;
}
#footer {
background-color: green;
}
</style>
</head>
<body>
<div id="container">
<div id="header">
header
</div>
<div id="content">
content
</div>
<div id="navigation">
navigation
</div>
<div id="news">
news
</div>
<div id="footer">
footer
</div>
</div>
</body>
最佳答案
正如您在开场白中指出的那样,您是编码新手,因此一些 HTML/CSS 结构规则可能看起来有点违反直觉。
我会先回答你的第二个问题,因为它是最直接的。 “溢出”属性的使用指示您的浏览器应该如何显示超出其所包含元素边界的任何内容。例如,如果您有一个 <div>
。元素高 100 像素,但您的内容是超过 100 像素的完整段落:
overflow: visible
将显示所有内容溢出您的 div
的边界.overflow: hidden
将扩展您的 div
的大小包含您的所有内容(只要没有其他父规则阻止或覆盖此行为)。overflow: scroll
将显示滚动条,以便用户可以在 div
中上下(或左右)滚动.overflow: auto
将向 div
添加滚动条仅当其内容超过其固定大小时。Read more about the overflow property here .
关于您的三列布局,您会发现稍微更改您的 CSS 规则并稍微修改您的 HTML 结构将使生活变得更加轻松,而不必依赖 overflow
。或 clear
样式中的属性。我假设您的列是内容、导航和新闻。
看看这个例子:
<div class="leftCol">
<h2>Left Column</h2>
<p>Left column is 250px by default. It can be extended by applying other classes.</p>
<ul>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
</ul>
</div>
<div class="rightCol">
<h2>Right Column</h2>
<p>The right column is by default 300px wide. It can be extended by applying other classes.</p>
<ul>
<li>Item One</li>
<li>Item Two</li>
<li>Item Three</li>
<li>Item Four</li>
</ul>
</div>
<div class="main">
<h2>Main Content</h2>
<p>Main Content is fully liquid. It takes all the remaining space on the line after the widths of “leftCol” and “rightCol” are taken into account. Alternatively, grids can be used to break up the main content area for fully fluid layouts.</p>
</div>
请注意,我按以下顺序放置 float 列:左、右、主。我的主栏只占用两个侧栏之间的任何空间。这是执行此操作的 CSS:
.leftCol{float:left;width:250px;_margin-right:-3px;}
.rightCol{float:right;width:300px;_margin-left:-3px;}
.main{display:table-cell;*display:block;width:auto;}
我不需要使用 overflow 或 clear 来实现这一点,无论我将这三个元素放在哪个容器中,一切都会很好地布局。
希望这对您有所帮助。
关于html - XHTML/CSS 3 列问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972717/
有谁知道 xhtml 中选项卡的字符实体是什么? (嗯,如果有的话)... 最佳答案 (X)HTML 对制表符没有特殊支持:它们只是另一个空白字符,无论您是否对它们进行转义。 关于xhtml - XH
我了解根据 HTML 规范,向元素添加自定义属性是无效的。这对 XHTML 也无效吗? 我认为 XHTML 是 XML 家族的一部分,因此是可扩展的。作为可扩展性,使用自定义属性不是可以吗? 戴夫 最
有没有关于如何正确处理 XHTML (1.0 Transitional) 中的空格的信息?似乎 XHTML 不使用标准的 XML 空白处理。 编辑:梅比我对我到底在寻找什么有点不准确。我对元素如何呈现
据我了解,XHTML (1.0, 1.1) 和 XHTML 5 都不需要 DTD。如果这是真的,浏览器将如何区分两者? 我只能假设当浏览器供应商支持 (X)HTML 5 时,所有 XHTML 都将按照
我得到了一个带有 session 范围 bean 的 xhtml 页面。现在我想在另一个 html 页面中两次使用此页面,一次在屏幕左侧,一次在屏幕右侧。如果我包含它,它指的是同一个 bean,我怎样
就SEO而言,从客户端角度来看,我应该使用XHTML 1.0 Transitional还是XHTML 1.0 Strict? 为什么有些人仍然使用Transitional? 如果我们使用“严格过渡”,
我以前只用 p和 span元素...但我一直在插入使用正确的元素,这是我之前没有真正考虑过关于推荐的事情。 这是我想到的... I love your products! Jim Testimo
所有现代浏览器都理解 HTML,所以除了在键盘最右侧编写更多字符之外,兼容 XHTML 的意义何在。 最佳答案 没有一点我能想到的。 W3C 已经取消了 XHTML 2.0,尽管应该有一个 XHTML
我制作了一个 Windows 图标 (*.ico) 并将其命名为 favicon,它是 16 x 16 和 16 种颜色...我已将其包含在链接标签中 但是加载不正确 how do I add a f
我有一个问题: 在 Lift 网络框架 (Scala) 版本中。我得到: Message: java.util.NoSuchElementException scala.RandomAccessS
我已经编写了有效的 XHTML 1.0 Transitional 代码。我想添加社交分享按钮(twitter、facebook 和 google+),但所有这些按钮都使我的代码无效。有什么解决办法吗?
我想知道在 XHTML 中标记科学名称的最佳方法。 This answer说我应该使用 元素,我不太赞成,当然,除非它是正确的元素。 我可以使用 ,但鉴于 HTML 的第一个用途是标记科学文档,我想
角色属性是否有定义的值,如果有,您能说出它们是什么吗? 或者我可以为角色属性创建自己的值吗?它们区分大小写吗?它们必须是字母吗?可以有数字吗? 或者您可以同时拥有定义的值和用户创建的值。 最佳答案 快
分别阅读两者,看起来都一样,html+xml+javascript。 那和有什么区别?有没有? 最佳答案 XHTML是 w3c标准,一种也严格符合 XML 的 HTML 形式。 DHTML是一个很大程
在使用 XSL 将 XHTML 转换为 XHTML 时,我遇到了 namespace 问题。考虑作为示例输入: Test Remove this 然后
我有以下代码使用 Text.XHtml.Strict 库在 Haskell 中生成一个包含一系列带有 id 和类的 div 的空白 html 页面: module Main where import
我对 IE 的 XHTML 兼容性进行了激烈的辩论。唯一的问题是,我不确定这家伙是不是在挑衅。 从本质上讲,他声称 IE 完全不兼容 XHTML,并且无论使用何种浏览器,具有定义的 XHTML 文档类
我已经为此奋斗了一段时间,但我什至无法弄清楚为什么它不起作用。以这个简单的 XHTML 测试源为例: foobar
虽然不推荐使用 target="_blank",但为什么 W3C 验证器没有给出关于此的错误?您可以在 validator 中粘贴并检查此代码: Untitled Document Li
是否有可能使 anchor 链接内部没有具有背景图像和固定尺寸的文本,并且仍然适合SEO? CSS示例: a{display:block;width:50px;height:20px;backgrou
我是一名优秀的程序员,十分优秀!