CSS float 将带有换行文本的 div 折叠到所需的最小值

2024-03-28

示例图片:

And the 代码位于 JSBIN http://jsbin.com/ucamOW/1/.

情况是,我正在尝试创建一个带有标签的复选框列表,每个复选框旁边都有一个“信息图标”。

这个想法是,如果您单击标签,它将触发复选框(正如它应该的那样),然后我们使用 JS 触发一些操作。

信息图标是一个工具提示,您可以单击它来获取更多信息。因为信息图标有它自己的交互,所以我们不能将其内嵌在标签内,因为标签会触发复选框交互。

所以我想做的就是让信息图标尽可能靠近标签文本。我通过浮动所有剩下的标签来完成此操作,以便它们折叠到所需的大小。然后,我给标签设置最大宽度,以免将信息图标推到下一行。

问题:请注意,如果标签没有换行(第一个标签),则标签会折叠到仅与文本一样宽(绿色边框)。但是,一旦标签必须换行(每个其他示例),标签就会采用最大宽度尺寸。如果你去掉绿色边框,这看起来很有趣,因为信息图标现在看起来在视觉上漂浮在距文本任意且看似随机的距离处。

问题:有没有办法让浮动对象在文本换行时折叠到与文本一样宽,或者这就是 CSS 中的工作方式?

EDIT:

为了澄清一下,我希望上面的示例图像/代码最终生成如下所示的内容:

请注意,所有标签(绿色边框)都会折叠为仅与文本一样宽 - 即使在文本换行的标签上也是如此。

EDIT 2:

我想我理解这个问题...问题是文本换行只是因为存在最大宽度。换句话说,内容(文本)比最大宽度宽得多,因此如果没有明确说明,div 不可能折叠到特定宽度。

因此,我认为没有解决方案。 CSS 只是没有设置来处理这个问题。


我真的很想看到一个纯 CSS 解决方案。我已经设法用脚本解决了这个问题。

尝试这个工作小提琴 http://jsfiddle.net/avrahamcool/tvhCk/

HTML(这里没有任何改变)

CSS

ul, li
{
  list-style: none;
  margin: 0px;
  padding: 0px;
}

ul
{
  border: 1px solid red;
  width: 200px;
}

li
{
  margin: 10px 0;
}


li *
{
  vertical-align: top;
}

label
{
  border: 1px solid green;
  display: inline-block;
  max-width: 150px;
}

.infoIcon
{
  color: blue;
  display: inline-block;
}

JQuery:取自这个帖子 https://stackoverflow.com/questions/1582534/calculating-text-width-with-jquery

$.fn.textWidth = function () {
    var html_org = $(this).html();
    var html_calc = '<span>' + html_org + '</span>';
    $(this).html(html_calc);
    var width = $(this).find('span:first').width();
    $(this).html(html_org);
    return width;
};

$(document).ready(function () {
    $("label").each(function ()
    {
        $(this).width($(this).textWidth() + 2);
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS float 将带有换行文本的 div 折叠到所需的最小值 的相关文章

  • 如何创建包含左对齐元素的宽度不确定的居中 div?

    我有几个统一的蓝色元素 div style display inline block 位于紫色 div 内的红色 div 内 Mockup https i stack imgur com ylTm9 png 图 我希望蓝色元素左对齐 一行中
  • 我应该如何使用 jcrop 在客户端裁剪图像并上传?

    我正在开发一个包含文件上传 HTML 控件的组件 在使用文件上传元素选择图像后 该图像将呈现在 HTML5 Canvas 元素上 这是带有示例代码的 JSFiddle https jsfiddle net govi20 spmc7ymp h
  • 标签转换问题

    我是 html css 新手 当用户在输入框中输入无效输入时出现错误 然后特定输入字段的标签会下降 但是当用户输入时 输入正确则工作正常
  • 如何将
  • 元素保持在固定宽度
  • 我有一个标题div和一个菜单ul在它下面 我想完成两件事 1 the ul应该具有相同的宽度div 外部垂直边框与 x 位置完全相同 2 我想保持间距li元素大致相等 经过一些尝试和错误li的边距和填充我大致实现了 Google Chrom
  • 使用 jQuery Mobile 和响应式布局/CSS 媒体查询是否多余?

    我正在退房http mediaqueri es http mediaqueri es 今天发现这些网站非常适合移动设备 所以我想知道将 jQuery Mobile 和响应 自适应布局与媒体查询一起使用是否是多余的 因为仅使用媒体查询似乎是一
  • 如何制作具有移动外观的 emberjs 应用程序(如 jquery mobile 中的应用程序)?

    我有一个使用 Emberjs 的简单移动 Web 应用程序项目 对于外观和感觉 我想要类似于 JQuery Mobile 的东西 有没有办法混合使用 Emberjs 和 jquery mobile 如果是这样 怎么办 我查看了 Travis
  • 使用后代选择器的响应式网站

    我试图使用媒体查询使我的网站响应 但是当我在代码的某些部分使用后代选择器时 页面没有响应 当我使用此代码时 该页面是响应式的 div1 float left width 20 height 200px background color re
  • PSD 到 html 转换 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 显示页面的背景颜色并将文本居中对齐

    我们的页面如下所示 link http websi career我们想要这样显示 1 我们需要显示文本和textfields在中心 2 我们需要为页面的某些部分添加背景颜色 career page box page title margin
  • css伪类最后一个子问题

    我在使用时遇到问题 last child伪选择器 我有以下标记 div class apply container div
  • 检测视频何时缓冲,如果缓冲则显示 gif

    我想知道是否有办法在视频缓冲时显示 gif 我正在使用 HTML5 视频标签 其中有一种方法可以检测视频何时缓冲 如果没有 是否有替代方法 我看过 如何检测视频何时缓冲 https stackoverflow com questions 1
  • JavaFX 2:TableView:删除标题+空时显示网格

    我有两个关于 Javafx 2 中的 TableView 的问题 1 是否可以隐藏表格中的标题 2 当表为空时 它只显示一个白色窗格 上面写着 表中没有内容 是否可以更改此设置以显示默认网格 即使表格为空 如果可能的话 我想要一个带有 CS
  • 如何在 HTML5/CSS3 中将视口锁定为纵向方向

    是否可以在移动设备上将视图端口的方向锁定为纵向 我用谷歌搜索了它 但无法找到确切的操作方法 这个技巧应该有效 media screen and orientation landscape html Rotate the content co
  • z-index 属性到底如何工作?

    如何z index实际上工作吗 它是否对未指定的元素起作用position 它是否支持具有指定的元素 即将它们放在顶部 position 像这样的数字必须是负数吗 div below div div less below div div o
  • 如何使用材料用户界面和样式组件定位按钮基础

    使用ToggleButton and ToggleButtonGroup组件来自material ui从材料 ui 开始盖茨比模板 https github com mui org material ui tree master examp
  • 元素上的框阴影行为

    Update 在我提交错误报告后 https bugs chromium org p chromium issues detail id 763337 https bugs chromium org p chromium issues de
  • 仅使用 CSS 向电话号码添加空格

    我有一个生成 HTML 电话号码的页面 如下所示 div class phone 01987123456 div 我想要的只是在数字内添加一个空格 如下所示 01987 123456 生成的数字和 HTML 始终相同 但我只能访问客户端代码
  • 防止 Bootstrap IE 下拉列表在滚动条单击时关闭

    在 IE 中 单击下拉菜单滚动条时 下拉菜单将关闭 当您使用鼠标滚轮滚动它时 效果很好 这是代码层链接 https www codeply com go Uh8qadr3q2 https www codeply com go Uh8qadr
  • 具有 MVC4 风格捆绑的 Intellisense

    到目前为止我找不到问题或解决这个问题 我确信我错过了一些简单的事情 我有一个带有一堆缩小的 CSS 的样式包 并且我正在用里面的类来装饰 HTML 元素 一切都运转良好 然而 Intellisense 和 ReSharper 都因为 CSS
  • 我可以使用 :hover 触发 CSS3 动画(或过渡),即使鼠标不再悬停,该动画也会继续运行

    我正在创建一个链接列表 其中一个链接容器在悬停时会展开 包含详细信息 图像和说明 我用 CSS 过渡或动画来制作动画没有任何问题 问题是我希望它即使在鼠标移开后也能保持展开状态 我想在没有 JavaScript 的情况下做到这一点 那可能吗

随机推荐

  • pycurl中登录并使用cookie

    我需要下载受密码保护页面上的文件 要手动访问该页面 我首先必须通过普通登录页面进行身份验证 我想使用curl 在脚本中获取此页面 我的脚本首先登录 它似乎成功了 它从 PUT 到 login 返回了 200 但是 获取所需页面失败 返回 5
  • 在球体上均匀生成点

    我感兴趣的是生成围绕球体 均匀 且非随机 分布的点 就像高尔夫球的凹坑或足球上六边形的顶点一样 是否有明确定义的算法可以做到这一点 注意 我知道这些点并不是真正 均匀 分布在球体上 但它们的分布方式是 从直视任何点的任何方向看 点的分布看起
  • 如何对字符串中的字母进行计数和排序

    我想对用户输入的字母进行排序 并打印出用户输入的字符串中每个字母的数量 这就是我到目前为止所拥有的 我想知道这是否是正确的方法 我对java比较陌生 所以请让事情尽可能简单 根据我使用循环而不是大量 if else 构造的建议 我对我的代码
  • Aurelia CLI 包括 Bootstrap Glyphicons

    我正在尝试将 Bootstrap 包含在我的 Aurelia CLI 项目中 并且 CSS 和 JS 工作正常 我遇到的唯一问题是字形需要加载字体文件 我使用这个配置 dependencies name bootstrap path nod
  • 如何使用 Jest + Vuejs 模拟 window.location.href?

    目前 我正在为我的项目实施单元测试 并且有一个文件包含window location href 我想模拟这个来测试 这是我的示例代码 it method A should work correctly gt const url http d
  • Laravel:每当我返回模型时,总是返回与它的关系

    我有 2 张桌子 User Doctor id id email user id name signature last name photo password description date birth Every Doctor与一个有
  • 如何使用构造函数注入创建对象?

    我如何使用提供 Cat 的组件创建 Dog 的实例 public final class Dog private final Cat mCat public final static String TAG Dog Inject public
  • DataGridView.SelectedCells 中的单元格顺序?

    我想知道 DataGridView SelectedCells 中单元格的顺序是什么 我假设 SelectedCells 0 应返回第一个单元格 最左上角 而 SelectedCells Count 1 应返回最后一个单元格 最右下角 但奇
  • Python 3.6+:嵌套多处理管理器导致 FileNotFoundError

    所以我尝试在字典的字典上使用多处理管理器 这是我最初的尝试 from multiprocessing import Process Manager def task stat test z 1 test y Y0 5 if name mai
  • Mysql 覆盖 vs 复合 vs 列索引

    在下面的查询中 SELECT col1 col2 FROM table1 WHERE col3 value1 AND col4 value2 如果我有 2 个单独的索引 其中一个位于col3另一个在col4 此查询中将使用其中哪一个 我在某
  • 哪些编译器支持 std::filesystem?

    感谢 C 11 在与 boost 长期相处之后 最后一个让我依赖它的组件是文件系统 根据链接 std filesystem 似乎是作为实验实现的 文件系统库 http en cppreference com w cpp experiment
  • 使用 freemarker 重新定位光标

    我正在使用免费标记和java 我必须将结果输出到txt 文件中 假设我必须打印 3 列 A B C 在类似的模式中 所有三个属性均为字符串 条件是 如果引用 A 的字符串长度超过 3 则应在下一行打印 也就是说 如果长度为 8 则前 3 个
  • php.ini - 设置 upload_tmp_dir

    我有一个允许用户上传照片的页面 我认为相当标准的 php 这适用于我迄今为止一直使用的实时服务器 但我最近在我的 Mac 上设置了 php 现在上传已停止工作 我猜这是因为 php ini 文件中的 upload tmp dir 没有正确设
  • 计算每行内字段的累积和

    免责声明 我是新手 我一直在广泛寻找问题的答案 但没有成功 如果我没有找到关于此的帖子 请向我推荐 我一直在尝试使用 awk 计算相当大的数据文件的每一行中每个字段的累积和 任何帮助将非常感激 我的文件包含数十万行 其中行的长度 字段数量
  • 在特定时间运行命令

    我正在尝试在特定时间运行命令 我看过 at 命令 但我不知道如何让它工作 这就是我所做的 at 1843 Enter php run this script php Ctrl D 但如何在 bash 脚本中执行此操作呢 我的意思是 我需要按
  • 从 apache 到 IIS 的反向代理总是失败并显示 404

    我正在尝试设置从 apache 到 IIS 7 服务器的反向代理 我已经设置了非常基本的代理规则
  • 如何在 iPhone Web 应用程序中将方向锁定为纵向模式?

    我正在构建 iPhone Web 应用程序 并希望将方向锁定为纵向模式 这可能吗 有没有任何网络工具包扩展可以做到这一点 请注意 这是一个用 HTML 和 JavaScript 编写的适用于 Mobile Safari 的应用程序 而不是用
  • 如何将变量设为特征的私有变量?

    我想在一个类中多次重用某个功能 此功能依赖于私有变量 trait Address private address public function getAddress return this gt address public functi
  • ASP/ASP.NET 短标签的名称

    有没有一个特定的名字 Scott Gu 将这些称为 代码块 这就是我的看法 http weblogs asp net scottgu archive 2010 04 06 new lt gt syntax for html encoding
  • CSS float 将带有换行文本的 div 折叠到所需的最小值

    示例图片 And the 代码位于 JSBIN http jsbin com ucamOW 1 情况是 我正在尝试创建一个带有标签的复选框列表 每个复选框旁边都有一个 信息图标 这个想法是 如果您单击标签 它将触发复选框 正如它应该的那样