如何使 div 使用 100% 可用高度(减去顶部徽标高度)

2023-12-28

我有这个 HTML:

<body>
<div id="logo">
    <table id="width100" cellpadding="0" cellspacing="0"  >
        <tr>
            <td width="33.33%" align="left">&nbsp;</td>
            <td width="33.34%" align="center"><a href="http://www.rawgameshop.com/"><img src="images/logo_new.png" /></a></td>
            <td width="33.33%" align="right"><img src="images/logo_right.png" /></td>
        </tr>
        <tr bgcolor="#731000" id="width100">
            <td height="15" colspan="3" ></td>
        </tr>
    </table>
</div>

<center>
<div id="container">
    <div id="main_body">
        asd
    </div>
</div>
</center>

还有这个CSS:

body {
    width:100%;
    height:100%;
    margin:0px;
    background-color:#ECECEC;
}

#logo {
    width:100%;
    height:165px;
    background-color:#FFFFFF;   
}

#width100 {
    width:100%;
}

#container {
    background-color:#FFFFFF;
    height:100%;
    width:900px;
}

#main_body {
    width:800px;
    background-color:#FFFFFF;
    height:100%;
}

我的问题是:为什么我的不main_bodydiv 向下拉伸到页面中间?它只有字母那么高。

如果我删除<center>HTML 标签确实会向下拉伸,但在 100% 屏幕尺寸下,这意味着我必须向下滚动到末尾。我希望它位于屏幕的边缘,而不是更远的地方。


height:100%获取第一个设置了高度的父元素的高度。由于所有父对象都有一个百分比高度,因此它将直接到达主体并占据该高度的 100%。

您需要设置#logo作为百分比高度,然后是你的main_body作为其余的百分比,否则您将需要 javascript / jquery 来调整您的大小main_body因为 css 还没有启用计算的方法(尽管我认为它可能很快就会出现)

看看这篇文章,因为他们试图实现同样的目标:

使用 CSS3 计算值 https://stackoverflow.com/questions/7309170/calculate-value-with-css3

如果您要使用 jQuery 路线,您需要将 jquery 库添加到您的页面(我通常将其放在页面底部),然后在此之后的任何位置您需要包含您将要运行的脚本,如下所示:

<script type="text/javascript">
  $(document).ready(function () { 
    var newHeight = $(window).height() - $('#logo').height();
    var oldHeight = $('#container').height();

    if (newHeight > oldHeight) {
      $('#container').height(newHeight);
    }
  });
</script>

the $(document).ready(function(){})意味着一旦文档(网页)加载完成,函数内的任何内容都将被触发

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 div 使用 100% 可用高度(减去顶部徽标高度) 的相关文章

随机推荐

  • 适用于 Android 的 Flurry 错误报告

    有没有人使用 Flurry 生成未捕获异常的报告 可以发布一些有关如何执行此操作的示例代码 我没有看到任何通过 Flurry 本身的示例 尽管我已经看到了自定义异常报告器的代码示例 但我还没有看到如何仅使用 Flurry 实现基本错误报告的
  • 我需要帮助使用 dataweave 以 xml 格式输出“大于”和“小于”字符

    我有以下数据编织代码 dw 2 0 output xml writeDeclaration false a b lt 当前输出是
  • 添加具有默认值的新列,而不是现有行

    alter table report add favourite film VARCHAR2 100 DEFAULT Star Wars 这会添加一个具有默认值的新列 但在我看来 它还会在所有预先存在的行上设置默认值 而不是将它们保留为空
  • 在iPhone中绘制空心圆

    i need to draw the following image 灰色部分是我想在另一张图像上绘制的内容 我需要使用 CGContext 方法使用的代码是什么 我尝试使用 CGContextAddArc 但失败了 因为当我填充笔划时 中
  • TestWatcher 和 TestNG

    All 我使用 JUnit 和 TestWatcher 以及 Selenium Java 在失败和成功时使用 TestWatcher 我调用错误跟踪工具 API 来锁定测试用例和缺陷 我现在想要生成 Selenium 测试运行的报告并锁定测
  • 如何在 VBA 中格式化文本/字符串?

    在下面的代码中 我采用一些输入参数 文本或单元格 并使用我需要的格式将它们组合起来形成一个字符串 我需要将 Task Name 以及 Lead 等文本设为粗体 我知道你不能将文本设置为粗体 但我该怎么做呢 我存储值的这个单元格最终会在 Wo
  • 如何确定远程通道是否已注册

    在我的 ASP NET 应用程序中 全局应用程序启动事件中有一行通过调用 Remoting Configuration Configure 来配置客户端远程处理通道 这第一次运行良好 但是当我的 Web 应用程序被回收时 应用程序启动事件再
  • 包含的 C++/C 头文件的实现在哪里?

    这可能看起来有点愚蠢 但这已经困扰了一段时间了 当我在我的C C程序中包含一些别人编写的头文件时 编译器如何知道头文件中声明的类成员函数的实现在哪里 假设我想编写一些利用 OpenCV 库的程序 通常我想使用 include
  • 从服务器获取图像并在客户端预览

    所以我试图从服务器获取图像并在客户端上预览它 我现在可以检索图像 但我不知道如何在网页上异步预览它 axios get link responseType stream then img gt What i have to do here
  • InnoSetup (Pascal):FileExists() 未找到每个文件

    看来 我想用 FileExists 检查的某些文件即使存在也永远找不到 而其他文件每次都会找到 如果我将文件 driver sys 放入 C Windows System32 drivers 目录中 则永远不会找到它 每次调用该函数时 Fi
  • PHP Soap 问题:服务器无法处理请求。 ---> 未将对象引用设置为对象的实例

    我正在使用 PHP 5 2 5 5 和 Moodle 1 9 当我进行不带参数的简单 SOAP 调用时 它可以工作 但是 一旦我使用带参数的调用 它就会失败 如果我使用 Fiddler 捕获 SOAP 请求 我会发现它根本没有将参数添加到
  • 使用 LINQ 在父对象列表中查找子对象

    给定一个父对象列表 每个父对象都有一个子对象列表 我想找到与特定 ID 匹配的子对象 public class Parent public int ID get set public List
  • XAML 错误:“属性‘VisualTree’被设置多次”

    我正在尝试将两个网格放入数据模板中 我的代码出现以下错误 如下所示 错误 多次设置属性 VisualTree
  • 如何将 REST 调用 JSON 响应附加到 jQuery 数据表?

    我正在尝试在 jQuery 中显示 REST 调用 JSON 响应数据表 http datatables net 以下是我收到的 JSON 响应 artifact artifactId I8cc4a96ef69a11e08b448cf533
  • Google Analytics 测量协议

    我尝试使用谷歌分析来跟踪一些更多的自定义数据 所以我想我使用这些事件 以下是我尝试替换的代码uuid and user agent
  • 等待 ajax 请求时显示微调器并禁用页面

    我有一个项目 其中使用 MVC C Bootstrap 和 FontAwesome 我的目标是在等待 ajax 请求时显示一个微调器并禁用该页面 到目前为止 我已经通过以下代码成功完成了这个目标 HTML div style display
  • Delphi:ADOConnection、DBASE3 和字符集(错误?)

    Delphi XE3 Win7 教授 我需要写入 DBASE 3 旧格式 文件以导出类似 DOS 应用程序 Clipper 的数据 好吧 我想 MS DBASE 驱动程序可以做到这一点 但我对匈牙利口音有疑问 我尝试了这个连接字符串 Dri
  • 如何完全删除Subclipse插件?

    我在从 Eclipse 配置中删除 Subclipse 时遇到问题 由于 m2eclipse 项目放弃了对 Subclipse 的支持 我决定切换到 Subversive 因此 我卸载了 Subclipse 然后使用 关于 Eclipse
  • TensorFlow while_loop 将变量转换为常量?

    我正在尝试更新嵌套中的二维张量while loop 但是 当将变量传递给第二个循环时 我无法使用tf assign 因为它抛出这个错误 ValueError Sliced assignment is only supported for v
  • 如何使 div 使用 100% 可用高度(减去顶部徽标高度)

    我有这个 HTML div table cellpadding 0 cellspacing 0 tr td width 33 33 align left nbsp td td width 33 34 align center a href