fixed-width 相关问题

如何让内联块元素填充行的剩余部分?

使用CSS和两个内联块(或其他)DIV标签而不是使用表格可以实现这样的事情吗? 表格版本是这样的(添加了边框以便您可以看到它): 使用CSS和两个内联块(或其他)DIV标签而不是使用表格可以实现这样的事情吗? 表格版本是这样的(添加边框以便您可以看到它): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head></head> <body> <table style="width:100%;"> <tr> <td style="border:1px solid black;width:100px;height:10px;"></td> <td style="border:1px solid black;height:10px;"></td> </tr> </table> </body> </html> 它会生成一个具有“固定宽度”(不是百分比宽度)的左列,以及一个扩展以填充该行上的“剩余空间”的右列。听起来很简单,对吧?此外,由于没有任何东西“浮动”,因此父容器的高度会正确扩展以包含内容的高度。 --开始咆哮-- 我已经看到了具有固定宽度侧列的多列布局的“明确修复”和“圣杯”实现,它们很糟糕而且很复杂。它们反转元素的顺序,使用百分比宽度,或者使用浮动、负边距,并且“左”、“右”和“边距”属性之间的关系很复杂。此外,布局对子像素敏感,因此即使添加单个像素的边框、填充或边距也会破坏整个布局,并将整个列换行到下一行。例如,即使您尝试做一些简单的事情(例如将 4 个元素放在一行上,每个元素的宽度设置为 25%),舍入误差也是一个问题。 --结束咆哮-- 我尝试过使用“inline-block”和“white-space:nowrap;”,但问题是我无法让第二个元素填充线上的remaining空间。将宽度设置为“width:100%-(LeftColumWidth)px”在某些情况下会起作用,但实际上并不支持在宽度属性中执行计算。 参见:http://jsfiddle.net/qx32C/36/ .lineContainer { overflow: hidden; /* clear the float */ border: 1px solid #000 } .lineContainer div { height: 20px } .left { width: 100px; float: left; border-right: 1px solid #000 } .right { overflow: hidden; background: #ccc } <div class="lineContainer"> <div class="left">left</div> <div class="right">right</div> </div> 为什么我在 margin-left: 100px 上将 overflow: hidden 替换为 .right? 使用 Flexbox 的现代解决方案: .container { display: flex; } .container > div { border: 1px solid black; height: 10px; } .left { width: 100px; } .right { width: 100%; background-color:#ddd; } <div class="container"> <div class="left"></div> <div class="right"></div> </div> http://jsfiddle.net/m5Xz2/100/ 兼容常见的现代浏览器(IE 8+):http://jsfiddle.net/m5Xz2/3/ .lineContainer { display:table; border-collapse:collapse; width:100%; } .lineContainer div { display:table-cell; border:1px solid black; height:10px; } .left { width:100px; } <div class="lineContainer"> <div class="left">left</div> <div class="right">right</div> </div> 您可以在流体元素上使用 calc (100% - 100px),并为这两个元素使用 display:inline-block。 请注意,标签之间不应有任何空格,否则您也必须在计算中考虑该空格。 .left{ display:inline-block; width:100px; } .right{ display:inline-block; width:calc(100% - 100px); } <div class=“left”></div><div class=“right”></div> 快速示例:http://jsfiddle.net/dw689mt4/1/ 我使用了 flex-grow 属性来实现这个目标。您必须为父容器设置 display: flex,然后需要为要填充剩余空间的块设置 flex-grow: 1,或者只是像评论中提到的 tanius 那样设置 flex: 1。 如果你不能使用 overflow: hidden (因为你不想要 overflow: hidden)或者如果你不喜欢 CSS hacks/workarounds,你可以使用 JavaScript 来代替。请注意,它可能无法正常工作,因为它是 JavaScript。 var parent = document.getElementsByClassName("lineContainer")[0]; var left = document.getElementsByClassName("left")[0]; var right = document.getElementsByClassName("right")[0]; right.style.width = (parent.offsetWidth - left.offsetWidth) + "px"; window.onresize = function() { right.style.width = (parent.offsetWidth - left.offsetWidth) + "px"; } .lineContainer { width: 100% border: 1px solid #000; font-size: 0px; /* You need to do this because inline block puts an invisible space between them and they won't fit on the same line */ } .lineContainer div { height: 10px; display: inline-block; } .left { width: 100px; background: red } .right { background: blue } <div class="lineContainer"> <div class="left"></div> <div class="right"></div> </div> http://jsfiddle.net/ys2eogxm/ 当你放弃内联块时 .post-container { border: 5px solid #333; overflow:auto; } .post-thumb { float: left; display:block; background:#ccc; width:200px; height:200px; } .post-content{ display:block; overflow:hidden; } http://jsfiddle.net/RXrvZ/3731/ (来自CSS Float:将图像浮动到文本左侧) 如果你像我一样,想要一些即使左侧框换行也能扩展到行尾的东西,那么 JavaScript 是唯一的选择。 我会利用计算功能来解决这个问题: Array.from(document.querySelectorAll(".right")).forEach((el) => { el.style.width = `calc(100% - ${el.offsetLeft + 1}px)`; }); .container { outline: 1px solid black; } .left { outline: 1px solid red; } .right { outline: 1px solid green; } <div class="container"> <span class="left">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tristique aliquet quam, at commodo lorem fringilla quis.</span> <input class="right" type="text" /> </div> 使用网格布局和分数单位(fr)的解决方案: /* For debugging and visibility */ html, body { border: 2px solid navy; } .grid-layout { border: thick solid sandybrown; background-color: gray; } .grid-layout div:nth-child(odd) { border: 2px solid brown; background-color: azure; } .grid-layout div:nth-child(even) { border: 2px solid red; background-color: lightyellow; } /* Grid layout. * Horizontal and vertical gaps. * two columns, fixed and responsive. * Note no containing div per line. */ .grid-layout { display: grid; gap: 4px 2px ; grid-template-columns: 100px 1fr; } <p>How to make an element fill the remainder of the line?</p> <p>Note no encompassing div per line.</p> <div class="grid-layout"> <div>Lorem ipsum line 1</div> <div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div> <div>Lorem ipsum line 2</div> <div>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> </div> 具有包含 div 的类似解决方案: .lineContainer { display: grid; gap: 2px 4px; grid-template-columns: 100px 1fr; } <p>Display grid per line.</p> <div class="lineContainer"> <div style="border:1px solid black; "> Lorem ipsum &hellip; </div> <div style="border:1px solid black; "> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </div> </div> 哇,flex 没有像样的答案。就这样吧 <div class="flex"> <span>first</span> <span>rest</span> </div> <style> .flex {display: flex;} .flex > :nth-child(1) {flex: 0; background: lightblue;} .flex > :nth-child(2) {flex: 1; background: lightgreen;} </style> 关键在于flex: 0和flex: 1,它是flex-grow的缩写,当为1时,占用剩余空间。它不仅仅是 0 或 1,但就这个答案而言,这就是您需要知道的全部内容。示例此处。

回答 10 投票 0

如何在数据中使用 pandas read_fwf 和日文字符

我正在尝试从包含日本城市名称的文本文件中读取数据。每行包含 32 个字节,其中名称列为 22 个字节。 当我尝试使用 pandas.read_fwf() 时,结果是错误的

回答 1 投票 0

如何设置JPanel的宽度和高度?

我正在使用Java开发贪吃蛇游戏。棋盘(所有动作发生的地方)的宽度和高度应该是固定的(640 像素 * 480 像素)。 结构: 从 JFrame 类扩展的主类, 乙...

回答 2 投票 0

使用 Rust 读取固定宽度文件

我正在尝试使用 Rust 读取固定宽度的文件,目的是将数据加载到 Polars 数据框中,但是,我无法正确解析该文件。 我正在尝试使用固定宽度板条箱作为极坐标

回答 1 投票 0

FileHelpers WriteStream 不写入数据

我需要读取固定宽度的文件,将记录映射到另一种类型,然后将该数据写入 csv 流。我正在尝试使用 FileHelpers 来执行此操作,但 WriteStream 似乎没有写入任何数据...

回答 1 投票 0

固定宽度浮动类型在哪里?

C 标准定宽浮点类型是什么以及它们在哪里定义? 来自 MISRA-C:2004,规则 6.3: 应该使用指示大小和符号的 typedef 来代替基本数字...

回答 3 投票 0

在Oracle 11g中使用具有固定长度列的crudrepository

我正在尝试编写一个查询 Oracle 11g 数据库的 Spring Boot。 是一个非常简单的 select * from item where item_code = 'abc' 命令。 但是因为数据库使用 CHAR(10) 作为该 id 列...

回答 1 投票 0

C++:使用 std::uint_fastn_t 的缺点

所以我偶然发现什么时候应该使用 C++ 固定宽度整数类型以及它们如何影响性能?我应该使用 cstdint 吗?固定宽度整数ty的优点和缺点...

回答 1 投票 0

Javascript(或CSS?):不断改变周围文本的数字

我已经实现了这样的东西: http://jsfiddle.net/DKs49/ 这里有一些数字:123234。很酷吧? 然后动态更改数字: 我已经实现了这样的事情: http://jsfiddle.net/DKs49/ <p>Here are some numbers: <span id="1">123234</span>. Cool huh?<p> 然后动态改变数字: setInterval(function () {document.getElementById('1').innerHTML = Math.random();},100); 但是,我没有使用固定宽度的字体(如 jsfiddle 那样) 添加数字时,我需要周围的文本移动(就像它所做的那样......)但是,在我的网站上,当数字数量相同时,周围的文本仍然根据数字宽度摆动(因为不使用固定宽度字体,1 比 2 窄)。 有人知道如何解决这个问题吗? (或者可以推荐一款看起来不像打字机的跨平台定宽字体...) 编辑:根据@guffa的评论,结果发现许多字体都有固定宽度数字。与其麻烦这个,最简单的路线=选择更好的字体。 如果您同意固定宽度<span>: p span { display: inline-block; width: 150px; text-align: right; } http://jsfiddle.net/DKs49/4/ 文本不会因为数字宽度不同而跳跃,而是因为数字数量不同而跳跃。 例如,如果您获得像 0.7362924825642400 这样的随机数,它将显示为 0.73629248256424,即比其他数字短两位。小数点分隔符后带有零的数字将使用相同数量的有效位数显示,因此它会比其他数字更长。 在大多数字体中,数字仍然具有相同的宽度,尽管其余字符并非如此。它们是这样制作的,以便当数字显示在列中时,数字会对齐,而不必单独对齐每个数字。 如果您始终使位数相同,您很可能会像我一样看到文本的其余部分完全静止:http://jsfiddle.net/Guffa/DKs49/8/ document.getElementById('1').innerHTML = String(Math.random()).substr(0,15); 根据W3规范: ‘等宽’固定宽度字体是 安代尔莫诺 快递新 快递 Lucida 打字机 已修复 等宽空间 现在您可以使用 font-variant-numeric: tabular-nums 来保持数字宽度更加一致并避免“摆动”。 https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-numeric

回答 4 投票 0

为什么我的页面左侧徽标下方有多余的空白?

我正在尝试弄清楚如何在页面上拉伸包含三列布局的 div 的边框。它向右拉伸正确,但向左侧拉伸不正确。任何人都可以...

回答 2 投票 0

如何根据内容的宽度制作跨度(flexbox)

我已固定宽度弹性行父级,其中包含 span 和 div .父级{ 显示:柔性; 弯曲方向:行; 宽度:230px; 背景颜色:蓝色; } .child1 { 背景颜色:重新...

回答 1 投票 0

Glue PySpark - 固定宽度文件处理和验证

我必须验证我从 S3 读取到 Glue 的固定宽度文件。 我有每一列的长度,我必须编写一个胶水作业来验证这些文件。 我如何有效地检查长度...

回答 0 投票 0

定宽查询结果

我正在使用 PowerShell 运行自动创建 UTF8 文本文件的查询。其中一个要求是查询结果是固定宽度的,并且结果从第一个字符开始。我有

回答 1 投票 0

定宽查询结果

我正在使用 PowerShell 运行自动创建 UTF8 文本文件的查询。其中一个要求是查询结果是固定宽度的,并且结果从第一个字符开始。我有

回答 1 投票 0

固定宽度的文件被 r 和 access 读取不正确

原始文件是一个.txt文件,由几万行和50“列”组成。 我使用 read_fwf 函数将文件作为数据帧导入到 r 中,我在其中指定了列宽...

回答 0 投票 0

使 contenteditable div :固定宽度并使用替换模式

我的目标是制作固定宽度的文本编辑器,其中每一行都有不同的规格。 为此,我需要...... 使 contenteditable div :固定宽度 接下来是不是可以在编辑的时候替换chara...

回答 0 投票 0

固定宽度的HTML tableheadercell没有相应的表现。

我在下表中的 "网站ID "tableheadercell中设置了180px的宽度,但却没有相应的表现。任何想法的原因,以及我如何修复它?(你可以运行这段代码看看我......)

回答 1 投票 1

是否可以在不知道每一列的宽度或列名并将其转换为CSV的情况下解析固定宽度的文件?

我想知道是否有可能在不了解任何固定宽度文件的情况下解析任何固定宽度的文件并将其制成CSV。我的直觉说不,因为可能存在一些极端情况。如果您知道...

回答 1 投票 1

我如何使用numpy genfromtxt读取固定宽度的混合格式文件?

下面是我的数据文件示例。请注意,我没有包含所有标头。还要注意,通常将特定的数据值留空(在这种情况下,对第1行和第5行调用CALL,但是可以为其他...

回答 1 投票 0

在Pandas Dataframe中读取大文件文本文件的最佳方法

我有几个大文件(每个> 4 GB)。其中一些采用固定宽度格式,另一些采用管道定界。这些文件具有数字和文本数据。目前,我正在使用以下方法:...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.