如何使容器的子 div 与 IE7 中最大子 div 的宽度相匹配?

2023-12-20

这似乎应该是重复的 - 我发现了很多类似的问题 - 但没有一个对我的答案有效。如果我漏掉了一个,请指出,我会删除这个。

我有一个绝对定位的 div 包含几个子 div。我希望容器扩展到最宽子级的宽度,并且所有其他子级扩展到相同的宽度。容器应有最小宽度和最大高度;如果有太多孩子,它应该滚动。

因此,这类似于组合下拉列表的行为,尽管这是在不同的上下文中使用的。

我提出的解决方案适用于 Chrome、Firefox 和 IE8,但不适用于 IE7(标准模式),其中子项不会扩展到容器的宽度。我尝试了许多改变,其中一些使孩子们成长,但所有这些都导致了额外的问题。这样做的正确方法是什么?

我创建了以下示例来说明该问题:

<html>
<head>
<style>

.container {
    display: block;
    position: absolute;
    top: 50px;
    left: 50px;
    min-width: 100px;
    max-height: 100px;
    border: 1px solid #999;
    overflow-x: hidden;
    overflow-y: auto;
}

.entry {
    display: block;
    width: auto;
    height: 20px;
    padding: 3px 20px 3px 5px;
    white-space: nowrap;
    background: #eee;
}

</style>
</head>
<body>
    <div class='container'>
        <div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRSTUVW</div>
        <div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRSTUVWXYZ</div>
        <div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRST</div>
        <div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQ</div>
        <div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRST</div>
        <div class='entry'><input type="checkbox"/>ABCDEFGHIJKLMNOPQRSTUVW</div>
    </div>
</body>

在 IE7 中,父 div 需要定义宽度width:100% or width:auto正确处理子元素。不幸的是,对您来说,定义父级的宽度会适得其反,因为您希望父级尺寸相对于最大的子级是动态的,而不是静态的。

现在,这个浏览器怪癖可能无伤大雅,您可以忽略它并保留它,但如果您希望您的网站在 IE7 中仍然看起来不错,您始终可以选择使用 JavaScript 将父宽度设置为等于最大子宽度元素。

这是我使用的 JavaScript:

$(function() {
    /* function finds largest width of the .entry child of .container
    and assigns that width to the parent .container.
    This is for IE7 bug that requires a defined parent width in order for 
    width:auto to work on the children elements
    */
    var elemWidth = 0;
    var maxWidth = 0;
    $('.container')
        .find('.entry')
        .each(function() {
            // iterate through .entry and assign largest width to var elemWidth
            if ( $(this).width() > elemWidth ) {
            elemWidth = $(this).width();
            }
         });
    maxWidth = elemWidth + 30; // extra 30px spacing to compensate for y-overflow
    $('.container').width(maxWidth);
});

这是一个有效的 jsfiddle 示例:http://jsfiddle.net/qG8Qf/1/ http://jsfiddle.net/qG8Qf/1/

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

如何使容器的子 div 与 IE7 中最大子 div 的宽度相匹配? 的相关文章

  • Bootstrap 3.0:全宽彩色背景,中心紧凑列

    我想要制作一个条纹商业主题 类似于 W3Schools 创建的主题 主题可以找到here http www w3schools com bootstrap bootstrap theme company asp 它的特点是水平部分 由不同的
  • Bootstrap 4.1 中悬停时的下拉菜单

    我有一个网站 我在其中创建了下拉菜单引导程序4 1 https getbootstrap com docs 4 1 dist css bootstrap min css 此时 下拉菜单正在点击 我用来创建下拉列表的 HTML 代码是 div
  • 防止页面跳转到iframe

    我正在尝试通过 iframe 将 wetransfer 集成到网站中 但是当页面加载时遇到问题 它会跳转到页面的一半 因此它专注于 iframe 而不是在页面顶部打开 据我所知 wetransfer 网站上有一个脚本告诉它跳转到该部分 而不
  • 如何将表情符号水平居中?

    在非视网膜显示屏上 unicode 表情符号字符似乎溢出了其边界框 但在视网膜显示屏上 它仍保留在字符边界内 那么如何在视网膜和非视网膜显示屏上将表情符号水平居中在 div 中呢 非视网膜 Retina 这适用于视网膜屏幕 但在非视网膜显示
  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 在网络浏览器上显示 UTF-16 字符

    我打印了一些 UTF 16 编码的字符并尝试在 Firefox 中显示它 它显示为 所以我进入 工具 gt 编码 并将编码从 UTF 8 更改为 UTF 16 我也尝试直接在 HTML 中更改字符集 但是 当我这样做时 我的页面完全被符号淹
  • 如何使选择框水平和垂直居中

    我正在尝试将选择框水平和垂直居中 这是 jsfiddle http jsfiddle net j3r9Lp81 http jsfiddle net j3r9Lp81 CSS div currency text align center HT
  • 编写XSL对xml数据执行一些操作

    如何在 products xsl 正文中编写 xsl 以获取数量 gt 10 的产品名称和状况 产品 xml
  • 如何强制网络浏览器不缓存图像

    背景 我正在为两个公益网站编写并使用一个非常简单的基于 CGI Perl 的内容管理工具 它为网站管理员提供了事件的 HTML 表单 他们可以在其中填写字段 日期 地点 标题 描述 链接等 并保存 在该表格上 我允许管理员上传与该活动相关的
  • 拖放 HTML5 jQuery:带有 JSON 的 e.dataTransfer.setData()

    这是我的拖拽 dragstart function e this css opacity 0 5 e dataTransfer effectAllowed move e dataTransfer setData application js
  • html 抓取和 CSS 查询

    以下库的优点和缺点是什么 PHP 简单 HTML DOM 解析器 http simplehtmldom sourceforge net QP http querypath org phpQuery http code google com
  • 粉碎一个元素,向随机方向发送碎片

    我试图 粉碎 一个元素 例如 一个图像 并将其碎片朝随机方向飞行 当碎片到达目的地时 即x距离 以像素为单位 它们变成原始图像的较小版本 jQuery UI 的explode http api jqueryui com explode ef
  • MP4 视频无法在 Firefox 上播放

    我有一个小型家庭服务器 可以托管多个项目 其中包括一些 MP4 示例视频 我一直在使用一个简单的
  • 标记内的值发生变化时调用函数

    JavaScript 有没有什么方法可以在段落标记的值更改时调用函数 概述 HTML p 00 00 p
  • CSS 属性名称中的“font-”与“text-”

    CSS 属性名称中使用的术语 文本 和 字体 有什么区别 它们的含义是否相同 或者以以下开头的 CSS 属性名称之间是否存在语义差异font 和一个开头text 例如 为什么我们有这些 CSS 属性 font size 34px text
  • bootstrap css中垂直对齐缩略图?

    我认为这应该很简单 但我就是无法让它发挥作用 在 ASP NET MVC 中 我有一个如下所示的项目列表 div class row div class span12 ul class thumbnails foreach var film
  • 使用 htaccess 重写规则重定向后 CSS 未加载

    我有以下用户个人资料网址的简写 RewriteRule w profile php name of user 1 当我这样做时 该网站使用适当的 css 文件进行样式设置site com name of user 但当我这样做的时候却不是s
  • onClick 事件适用于触摸屏设备上的触摸吗?

    我用过onclick我的网站上的活动 但是 当我在谷歌浏览器的开发人员模式移动视图中打开它时 触摸使用鼠标单击的元素没有任何反应 所以我的问题是 我还必须添加吗ontouch事件连同onclick事件或 onClick 事件适用于所有触摸屏
  • 用于生成多色文本的 jQuery 插件,该文本可在悬停时改变颜色

    我想为各种链接生成多色文本 并从预先指定的颜色数组中为各个字母随机分配颜色 当将鼠标悬停在带有文本的 div 上时 颜色会发生变化 我正在考虑一个 jQuery 插件 脚本将是可行的方法 我想知道是否存在这样的插件或近似插件 Thanks
  • javascript:获取带有单位的CSS prop值[重复]

    这个问题在这里已经有答案了 我的代码是这样的 image 1 position absolute top 3vw 我的尝试 http jsfiddle net z8k6t3fb 1 http jsfiddle net z8k6t3fb 1

随机推荐

  • Binutils LD 创建巨大文件

    我正在尝试创建尽可能小的 ELF 我创建了一个像这样的测试文件 NASM 语法 SECTION text dd 0xdeadbeef 使用此链接描述文件 SECTIONS text text 然后我检查了平面二进制文件的大小 并通过两种方式
  • 将 UDF 应用于 Spark Dataframe 中的多个列

    我有一个如下所示的数据框 id age rbc bgr dm cad appet pe ane classification 3 48 0 normal 117 0 no no poor yes yes ckd 我写了一个 UDF 来转换分
  • 终止或停止 HtmlUnit

    我使用 htmlunit 测试一些网站 我注意到 Htmlunit 卡在一些网页上 这个问题导致调用 htmlunit 的线程不会终止 请您知道有什么方法可以停止 Htmlunit 就像在真正的网络浏览器中一样 您只需单击浏览器停止按钮即可
  • 考虑到每个静态库定义导出的功能(vc++ 2008),如何将多个静态链接库合并到一个 dll 中?

    鉴于每个静态库都定义导出功能 vc 2008 如何将多个静态链接库合并到单个 dll 中 在存在单个 dll 项目和静态链接的多个子项目 在 dll 项目中 的多项目布局中 尽管被标记为 declspec export 子项目 lib 中的
  • python Tkinter 中的简单加载屏幕

    我是一个Python初学者 尤其是tkinter 我想制作一个简单的 python 脚本的 加载屏幕 并在脚本结束后关闭 但制作窗户需要mainloop函数 这意味着它将无限循环或等待用户交互 或者我认为如此 并且它将消除 加载 屏幕的想法
  • Python 将 k-means 集群与实例关联

    我已阅读文档here http scikit learn org stable modules generated sklearn cluster KMeans html以及看着this http fromdatawithlove theg
  • 在 MongoDB 中搜索多个集合

    我知道 MongoDB 的理论以及不支持联接的事实 并且我应该尽可能使用嵌入文档或非规范化 但这里是 我有多个文档 例如 用户 嵌入了 Suburbs 但也有 名字 姓氏 郊区 其中嵌入州 嵌入 School 的 Child 属于 User
  • 在maven中查找定义属性的地方

    我目前正在各种项目和 git repo 中重构大量 pom xml 有时 项目 A 中的 pom 需要项目 B 中定义的工件 其版本由属性定义
  • 如何构建自动更新的拖放层次树

    我目前正在 R 工作 需要一种可视化分层树的方法 我希望能够最初定义一棵树 其中每个节点都有一个父节点 每个父节点可以有多个子节点 我希望能够将节点拖放到不同父级下并执行一些计算 在 R 中 然后在可视化上进行更新 例如假设每个节点都有一个
  • 正则表达式“包含”另一个正则表达式

    有没有办法测试一个正则表达式是否 包含 另一个正则表达式 例如 RegEX1 a b RegEx2 a1 b RegEX1 包含 RegEX2 据我所知 这是不可能的 我错了吗 OK joel neely has shown that it
  • C++ Boost.ASIO async_read_until 慢

    我遇到了一个不寻常的问题 我有一个 C Boost ASIO Web 服务器 为了处理传入请求 我使用以下代码 boost asio async read until socket response r n r n boost bind c
  • 如何使用seaborn制作气泡图

    import matplotlib pyplot as plt import numpy as np data x IEEE Elsevier Others y 7 6 2 import seaborn as sns plt legend
  • Modelica - Dymola Python 界面:将输出格式设置为文本

    我通过 Dymola Python 界面使用 Dymola 运行 Modelica 模拟 我的目标是将结果文件写入文本输出 即写入 txt文件 即使我的模型包含注释 Dymola experimentSetupOutput textual
  • C/C++ 中的单引号、双引号和 sizeof('a')

    我正在看问题C 或 C 中的单引号与双引号 https stackoverflow com questions 3683602 single quotes vs double quotes in c 我无法完全理解给出的解释 所以我写了一个
  • 位运算符优先级

    我在类 C 语言中遇到过几次的问题是 original included excluded BAD 由于优先级 它解析为 original included excluded excluded has no effect 有谁知道三个独立优
  • Git 预提交挂钩在 GitHub for mac 中失败(在命令行上运行)

    我创建了一个非常简单的预提交脚本 usr bin env sh Run tests npm test if ne 0 then echo Tests failed Aborting exit 1 fi exit 0 当我跑步时git com
  • MyBatis - 找不到构造函数

    我在 MyBatis 映射方面遇到问题 我有一个像这样的域类 public class MyClass private Long id private Date create private String content MyClass L
  • Android:键盘与 EditText 重叠(带有打印屏幕)

    我有一个 EditText 用户可以输入numbers在 因此 当用户单击 EditText 文本框时 将打开带有数字的键盘 正如您所看到的 键盘隐藏了文本框的一小部分 But when I press a key for example
  • 有没有办法从boto3获取access_key和secret_key? [复制]

    这个问题在这里已经有答案了 当我启动具有 IAM 角色的 EC2 实例时 我可以使用boto3在该 EC2 实例上 不必指定 aws 访问权限和密钥 因为boto3 自动读取它们 http boto3 readthedocs io en l
  • 如何使容器的子 div 与 IE7 中最大子 div 的宽度相匹配?

    这似乎应该是重复的 我发现了很多类似的问题 但没有一个对我的答案有效 如果我漏掉了一个 请指出 我会删除这个 我有一个绝对定位的 div 包含几个子 div 我希望容器扩展到最宽子级的宽度 并且所有其他子级扩展到相同的宽度 容器应有最小宽度