首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用可变宽度的LIst和<dd> (包括JSFiddle)创建定义JSFiddle

使用可变宽度的LIst和<dd> (包括JSFiddle)创建定义JSFiddle
EN

Stack Overflow用户
提问于 2013-03-16 04:12:48
回答 2查看 4.4K关注 0票数 4

我有一个定义列表,其中的术语和定义都是不同宽度的。编辑:为了澄清,当我说不同宽度时,我的意思是它们不能是固定的宽度。显然,这一效果很容易通过设置‘’的宽度来实现,我需要每一对并排地坐着,如果有必要的话,就会变成多行,而不是在下面包装。

下面是一个显示我的问题的JSFiddle:http://jsfiddle.net/2H9YN/ (下面的代码)

编辑:请注意颜色仅供参考。它们对最终设计没有意义。

我现在有这样的情况:

但我想要这个:

HTML:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dl>
    <dt>dt: Lorem Ipsum</dt>
    <dd>dd: Lorem imperdiet </dd>
    <dt>dt: Lorem id libero in Ipsum</dt>
    <dd>dd: Lorem id libero in ipsum dolor </dd>
    <dt>dt: Lorem Ipsum</dt>
    <dd>dd: I should be sitting to the right of the previous dt and not wrapping round below it.</dd>
    <dt>dt: Lorem id libero in Ipsum</dt>
    <dd>dd: Lorem in ipsum dolor </dd>
</dl>

CSS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dl
{
    width:400px;
    background-color: rgba(0, 0, 0, 0.2);
    float: left;
}

dt
{
    clear:both;
    float:left;
    background-color: rgba(255, 0, 0, 0.3);
}

dd
{
    float:left;
    background-color: rgba(0, 255, 0, 0.3);
    margin: 0 0 0 4px;
}

本质上,我正在寻找<dd>来填充<dt>留给它的空间,如果这意味着它需要包装,那么它将在自己下面包装,而不是在相邻的<dt>下面包装。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-16 04:39:37

下面是一些可能有用的CSS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dl {
    width: 400px;
    background-color: rgba(0, 0, 0, 0.2);
    overflow: auto;
}

dt {
    background-color: rgba(255, 0, 0, 0.3);
    float: left;
    clear: left;
    margin-right: 10px; /* Margin work */
    padding: 5px; /* Padding works */
}
dd {
    background-color: rgba(0, 255, 0, 0.3);
    display: table-cell;
    padding-left: 10px; /* Padding works */
    padding-bottom: 10px;
    margin-left: 100px; /* Margin does not work */
    margin-bottom: 100px;
}

小提琴参考:http://jsfiddle.net/audetwebdesign/45jDK/

对它为什么工作的解释

(1)要查看背景色,请将overflow: auto设置为dl。由于所有子元素都是浮动的,默认情况下高度会折叠为零。

(2)您希望dt从新行开始,所以使用clear: left,这样dt就不会试图在一个简短的dd元素之后流动。

(3)对于dd来说,使用display: table-cell似乎可以做到这一点。

dt上,paddingmargin按预期工作。在dd上,padding起作用,但margin没有作用,可能是因为table-cell是如何工作的。

我在Firefox上试过这个,但没有其他地方。

PS

我在其中一个dt元素上添加了一些额外的内容,以了解极端情况将如何呈现。我还试验了width of dl,布局保持稳定。

票数 3
EN

Stack Overflow用户

发布于 2013-03-16 06:29:56

事实上,您正在使用一个定义列表,这使得这很难做到。如果没有某种容器来强制dt和dd之间的关系,就必须在某个地方设置限制。

由于Flexbox实现的不同,我在Opera中最接近您的标记工作,而不是Chrome:

http://jsfiddle.net/2H9YN/4/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dl {
  width: 400px;
  background-color: rgba(0, 0, 0, 0.2);
  float: left;
  display: -webkit-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

dt {
  background-color: rgba(255, 0, 0, 0.3);
  -webkit-flex: 0 0;
  -ms-flex: 0 0;
  flex: 0 0;
  white-space: pre;
}

dd {
  background-color: rgba(0, 255, 0, 0.3);
  margin: 0 0 0 4px;
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
}

当然,只有在每dt不超过1dd的情况下才能起作用。

如果您愿意更改标记,使您有某种类型的行容器,那么您就有更多的选项。它不必是一个表,它可以是一堆包含h1 (dt)和段落(dd)的文章。标记并不重要,只是元素是如何组合在一起的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<table>
    <tr>
        <th>dt: Lorem Ipsum</th>
        <td>dd: Lorem imperdiet </td>
    </tr>

    <tr>
        <th>dt: Lorem id libero in Ipsum</th>
        <td>dd: Lorem id libero in ipsum dolor </td>
    </tr>

    <tr>
        <th>dt: Lorem Ipsum</th>
        <td>dd: I should be sitting to the right of the previous dt and not wrapping round below it.</td>
    </tr>
</table>

再次使用Flexbox,我们可以得到一个完美的匹配,直到你的灰色背景通过时,元素没有足够的内容到达终点。对于非Flexbox浏览器,我们也可以得到一个合理的退路:

http://jsfiddle.net/2H9YN/7/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
table {
  width: 400px;
  background-color: rgba(0, 0, 0, 0.2);
}

table, tbody, th, td {
  display: block;
}

tr {
  display: block;
  display: -webkit-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

th, td {
  display: table-cell;
  vertical-align: text-top;
}

th {
  background-color: rgba(255, 0, 0, 0.3);
  white-space: pre;
  font-weight: normal;
}

td {
  background-color: rgba(0, 255, 0, 0.3);
  margin: 0 0 0 4px;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15449114

复制
相关文章
在线即时展现 Html、JS、CSS 编辑工具 – JSFiddle
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115253.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/11
3.6K0
在线即时展现 Html、JS、CSS 编辑工具 – JSFiddle
使用knockout-sortable实现对自定义菜单的拖拽排序
关于自定义菜单的实现,这里就不多说了,需要了解的请访问:http://www.cnblogs.com/codelove/p/4838766.html
雪雁-心莱科技
2018/12/27
9850
Wijmo 更优美的jQuery UI部件集:通过jsFiddle测试Wijmo Gauges
Wijmo 的巨大优势之一就是,它们是非常流行的jQuery UI部件。这将意味着它们的基础类库具有很多支持者。具有众多的支持者同时也意味着更多好用的工具。这些好用的工具之一就是很酷的jsFiddle,这是一个实时的HTML/CSS/JavaScript snippet编辑器。用它来以一种迅速的无开销的方式测试一些小东西是相当棒的。事实上,我们可以用它来实时的测试一些wijmo部件,这里我们会看到如何做到这一点。因为Wijmo gauges使用到了基于浏览器能力的SVG或者VML,这些是“无插件网页”的一个
葡萄城控件
2018/01/10
1K0
Wijmo 更优美的jQuery UI部件集:通过jsFiddle测试Wijmo Gauges
Vue.js 极简教程jsfiddle Hello World 例子:参考资料:
https://jsfiddle.net/chrisvfritz/50wL7mdz/
一个会写诗的程序员
2018/08/17
1.7K0
移动端全兼容的flexbox速成班 - 腾讯ISUX
说起flexbox,都算是件陈年旧事了,它是2009年W3C提出的一种全新的可伸缩的CSS布局方式。依赖flexbox,我们可以更简单,高效的完成可伸缩式页面的布局。 业界与flexbox的相关教程文章也是各式各样,新旧交替,很多小伙伴对flexbox想用又不敢用,究其原因也就是即分不清它各个版本的编写规范,又苦恼于大家总是挂在嘴边的一句“flexbox兼容性不好”。 所以今儿前来总结一个精华干货贴,回顾那些楼主在项目里用过的flexbox,来谈谈那些不用苦恼“兼容”的flexbox最佳实例(本文只聊移动
腾讯ISUX
2018/06/29
1.3K0
移动端全兼容的flexbox速成班
本文介绍了移动端全兼容的flexbox速成班,包括常见概念、版本对比、实用技巧和实例演练等内容,并提供了7个移动端常见布局的demo。
练小习
2017/12/29
1.7K0
JavaScript中的沙箱机制探秘
最近有需求要研究下开放给用户的自动化工具,于是就顺便整理了下沙箱的相关问题。Sandbox,中文称沙箱或者沙盘,在计算机安全中是个经常出现的名词。Sandbox是一种虚拟的程序运行环境,用以隔离可疑软件中的病毒或者对计算机有害的行为。比如浏览器就是一个Sandbox环境,它加载并执行远程的代码,但对其加以诸多限制,比如禁止跨域请求、不允许读写本地文件等等。这个概念也会被引用至模块化开发的设计中,让各个模块能相对独立地拥有自己的执行环境而不互相干扰。随着前端技术的发展以及nodejs的崛起,JavaScript的模块化开发也进入了大众的视线。那么问题来了,在JavaScript的模块化中怎样实现Sandbox呢?我们分Browser端和服务器端分别探讨一下Sandbox的实现方式。
星回
2018/08/02
2.9K2
2 - 哪里可以运行 JavaScript?
原文:https://dev.to/bhagatparwinder/where-can-i-run-javascript-995
前端黑板报
2022/04/19
1.4K0
2 - 哪里可以运行 JavaScript?
支持分享的在线代码编辑器推荐
博客中往往加一些在线代码编辑器进行代码DEMO的展示,往往有很好的效果。 下面就推荐几款支持分享的在线代码编辑器。
Tiffany_c4df
2019/09/04
4.6K0
用Jquery做一个进度条
    本来打算写一个Jquery插件的,不过我看了看网上插件的教程,感觉都不怎么样。国外有一本书叫《jQuery Plugin Development Beginner’s Guide》,写的不错(作者之一是一位复旦毕业的华裔,所以可能语言和思维方式我们更好理解)。没有中文版。就我英语水平来估计,要看一个月……只能慢慢来了。
phith0n
2020/10/16
2.2K0
用Jquery做一个进度条
30个前端开发人员必备的顶级工具
在本文中,我为前端Web开发人员汇总了30种顶级工具,从代码编辑器和代码游乐场到CSS生成器,JS库等等。
@超人
2021/03/18
3.2K0
30个前端开发人员必备的顶级工具
网页开发的6种在线调试环境
如今的网页代码,一般由三个部分组成:   * HTML,语义层,提供网页的内容。   * CSS,表现层,规定网页的外观。   * Javascript,动作层,定义用户与网页的互动。 理想的开发环境,应该既可以分别调试这三种代码,又可以轻松查看它们合并在一起的整体效果。 浏览器是最合适的效果查看工具,所以很多人想到,代码调试环境也可以直接部署在浏览器中,以网站的形式提供服务。 下面,我根据Design Shack的文章,总结一下目前最常见的6种网页开发在线调试环境。它们大大方便了网页设计师的工作
ruanyf
2018/04/12
2.2K0
网页开发的6种在线调试环境
使用 dd 命令从 ISO 镜像创建临场 USB
Explanation of the dd command for live USB creation
用户4988085
2021/09/16
2.6K0
JS 中的函数表达式和函数声明你混淆了吗?
在 JavaScript 中,function关键字可以完成一个简单的工作:创建一个函数。 但是,使用关键字定义函数的方式可以创建具有不同属性的函数。
前端小智@大迁世界
2022/06/15
7520
20款优秀的基于浏览器的在线代码编辑器「建议收藏」
Compilr是一个在线编译器和在线IDE。可以用它来开发PHP, C, C++, Ruby。在浏览器中编译Java, C# 和 VB.net等。 马上使用
全栈程序员站长
2022/09/07
4.4K0
20款优秀的基于浏览器的在线代码编辑器「建议收藏」
冷门布局方法 tabel-cell 的可行性研究
display:table-cell 属性简介 display:table-cell;会使元素表现的类似一个表格中的单元格 td,利用这个特性可以实现文字的垂直居中效果。同时它也会破坏一些 CSS 属性,使用 table-cell 时最好不要与 float 以及 position: absolute 一起使用,设置了 table-cell 的元素对高度和宽度高度敏感,对 margin 值无反应,可以响应 padding 的设置,表现几乎类似一个 td 元素。 小结: 不要与 float:left; posi
用户1097444
2022/06/29
8450
冷门布局方法 tabel-cell 的可行性研究
java在线编辑_十大在线编译器(IDE),干货收藏!
① 主流的脚手架都支持,比如在线create-react-app,vue-cli等(在线 fork 修改),支持 github 登录(项目导入),也支持 cli 上传例子,例子可以在线访问和下载,当然也支持内嵌到其他博客等网页中。
全栈程序员站长
2022/09/08
15.7K0
java在线编辑_十大在线编译器(IDE),干货收藏!
浏览器编译代码_ie浏览器html编辑器
Compilr是一个在线编译器和在线IDE。可以用它来开发PHP, C, C++, Ruby。在浏览器中编译Java, C# 和 VB.net等。 马上使用
全栈程序员站长
2022/09/21
2.5K0
浏览器编译代码_ie浏览器html编辑器
重拾CSS规范之BFC & IFC
BFC、IFC的概念重要吗?不重要,没有它们我们也能写出符合要求甚至很好的页面。重要,深入了了解了CSS这门语言的核心,你的CSS才可能会有创造性,你才能发明出你自己的奇淫技巧,而不是遇到新的情境就去百度,google。
江米小枣
2020/06/15
3780
盘点在线代码片段编辑测试网站
对于一些前端的样式和js效果,我们非常希望可以将这些代码片段保存起来,然后分享给那些想要使用这些样式特效的人,庆幸的是,网络上已经有很多这样的网站了,今天我们就来盘点一下这些非常好用的网站。
程序那些事儿
2023/03/07
1K0
盘点在线代码片段编辑测试网站

相似问题

动态下拉列表(包括JSFiddle)

44

水平双层CSS菜单(包括jsfiddle)

14

JSfiddle不是“定义”函数?

11

$未在jsfiddle中定义。

63

使用backbone.js :如何使用jsfiddle或jsfiddle库?

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文