css - 什么设置了我的列的高度?

标签 css html

我不是专业的网络开发人员,但我正在设计一个帮助非营利组织的网站。 我花了几天时间在网上搜索有关 css、float、position 等的说明和解释。最后我设法用我想要的行为设计了我想要的布局,但仍然有一些东西不工作/我不明白. 请参阅页面:“http://www.missione-berna.ch/index2.php”及其来源;我将所有代码放入其中以使其可访问(最后,窗框、脚本、菜单和标题将位于单独的文件中,最终通过 php 包含在内)。 为什么我的“菜单”div 既不是其内容的大小也不是邻居“Contenuto”div 的大小? 我知道让两个 div 列的高度匹配不是一件容易的事,但是这个“中间”尺寸是从哪里来的呢? 任何帮助表示赞赏,提前谢谢。

最佳答案

首先,position: absolute 可能是一件非常糟糕的事情。避免使用它,除非试图将元素从页面流中移除(让一个元素出现在另一个元素之上)。

其次,height: 100% 并不像您直觉上认为的那样。您将菜单 div 的高度设置为视口(viewport)(您的浏览器窗口)高度的 100%,而不是整个页面的 100%。

由于您的菜单有一个简单的背景,您可以使用一个巧妙的技巧使它看起来具有相同的高度。 CSSDesk

我在您的菜单和内容周围添加了一个包装器 div。 HTML 的相关位:

<body>
<div id="Fascione">
    <img id="FotoAngolare" alt="ChiesaEsterno" src="images/esterno.jpg" width="195" height="122">
    <div id="Impressum">
        <span class="Intestazione">Missione Cattolica Italiana</span><br>
        <span class="Titolo">Chiesa "Madonna degli Emigrati"</span><br>
        <span class="Testo">Bovetstrasse 1 - 3007 Bern<br>Tel. 031 371 0243 / Fax. 031 372 1656</span><br>
        <a class="Email" href="mailto:missione.berna@bluewin.ch">missione.berna@bluewin.ch</a>
    </div>
</div>
<div id="wrap">
<div id="Menu">
    <a href="top"></a>
    <ul id="MenuList" class="Testo"></ul>
<div id="Contenuto">
<p></p>
</div>
</div>
</body>

然后这样设计:

#wrap { background: #e8e8e8; }
#Menu {float:left; width:195px; }
#Contenuto { background: #fff; border-left: 2px solid black; margin-left: 196px; min-width:829px; padding: 1px 1px 1px 15px; }

所以整个东西的背景都是灰色的。您的菜单向左浮动(在灰色背景上)。 contentu div 有一个 192px 的左边距来“清除”菜单,并且有一个白色背景来隐藏灰色。包装和内容 div,以及灰色/白色背景,将扩展到您的内容的大小。

一些提示:

  1. 注意 height: 100%
  2. float: leftfloat: right 固有地设置 display: block。你不能设置 display: inline on float 元素。

关于css - 什么设置了我的列的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702937/

相关文章:

javascript - CSS 显示 : none a better solution?

html - 打印预览表堆叠不良?

css - 在 Twitter Bootstrap 中更改导航栏颜色

javascript - Kendo UI 剑道未定义

php - 我的 PHP 代码不工作?

css - 如何将 CSS 动画嵌入到 JFrame 中?

css - 如何在 webix 图标按钮上动态应用 css?

php - 需要在 PHP 中命名 2 个类的建议

javascript - jQuery 过滤器有时会显示所有元素

javascript - 将 javascript 插入 echo PHP