- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将最后一个列表项的高度拉伸(stretch)到 100%,以匹配向右浮动的 div 的动态高度。
ul.menu li:last-child {height:100%}
我得到的地方的例子..
感谢任何帮助
最佳答案
您所要求的可以完成,但恕我直言,当前 CSS 中没有漂亮的解决方案。这是一种可行的可能性(某种程度上)。
为了让列表知道旁边 float 元素的大小,两者都需要包含在同一个元素(容器)中:
<div id="container">
<ul class="menu">
…
<li>…</li>
</ul>
<div id="floated">…</div>
</div>
为了让容器知道其中 float 元素的大小,它也需要 float :
#container {
float: left;
}
因为容器元素的下一个兄弟元素随后会 float 在它旁边(除非它的 clear
属性设置为 left
或 both
),您可能需要在它之后清除:
<div id="container">
…
</div>
<div style="clear: both; width: 0; height: 0; line-height: 0"><!-- for MSHTML --></div>
<!-- next sibling here -->
为了使列表项元素的下边界与 float 元素的下边界对齐,需要将其定位为absolute
–
ul.menu li:last-child {
position: absolute;
bottom: 0;
}
——并且容器需要定位relative
,这样li
元素的bottom: 0
表示离 float 底部的距离为零元素(除非它没有列表那么高):
#container {
position: relative;
float: left;
}
但是,如果您这样定位最后一个列表项,您将丢失其左边界和上边界的动态计算坐标。
如果您知道最后一个列表项上方的列表项占用多少空间,我只能看到一种解决最后一个问题的方法和可能性。这将更难维护,但如果你想坚持下去,就在这里:
ul.menu li:last {
position: absolute;
/* in your case */
left: 0;
/*
* Assumption: 3 items above, each has a computed height of 1em, no margins
* in-between. (Obviously, until CSS3 Computed Values becomes widely adopted,
* you would need to use the same unit of length here as you use for the
* heights of the list items above and possible margins between them.)
*/
top: 3em;
bottom: 0;
}
显然,ul
元素一定不能然后定位,否则您的li
坐标将会关闭。
总而言之,CSS –
#container {
position: relative;
float: left;
}
/* AIUI from your original code */
#container #floated {
float: right;
}
#container ul.menu li:last-child {
position: absolute;
/* see above */
left: 0;
top: 3em;
bottom: 0;
}
– 和标记:
<div id="container">
<ul class="menu">
…
<li>…</li>
</ul>
<div id="floated">…</div>
</div>
<div style="clear: both; width: 0; height: 0; line-height: 0"><!-- for MSHTML --></div>
<!-- next sibling here -->
Chromium 22 中的 WFM。但是 AISB 并不漂亮。您应该重新考虑为什么需要像这样拉伸(stretch)最后一个列表项。也许您真正想做的是扩展列表?
关于html - 李 :last-child element height 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13421806/
我有 ul,其中 li 元素向左浮动。我想将这些 li 元素与 ul 的中心对齐。 目标: ======>>> 我的尝试: 我的尝试总是这样 jsbin: http://jsbin.com/EGoVA
我在我们的一个新网站上遇到列表菜单问题。 我正在使用 li:before 来显示 |在菜单中的所有元素之前。使用以下 CSS: #menu li:first-child:before { co
我在我的 li 元素中有一个链接和一些包含在跨度中的文本。 当我将鼠标悬停在 li 上时,我想更改文本和链接的颜色,这很有效,但是我很难设置访问颜色并保持此功能。 这是我的代码- HTML -
我有一些 CSS 问题。 我有一个具有特定宽度的 li 元素。我还想要一个 :afterli 的元素,并将其用作工具提示。是否有可能为工具提示设置一个自动宽度并将其居中置于 li? 之上 如果我在 l
当链接处于事件状态时,我无法让背景颜色和字体发生变化(li:active 不起作用)请帮帮我。 点击链接: http://jsfiddle.net/rbL7ncf2/2/
我已经很长时间没有这样做了,我也查了一下,但是当我将鼠标悬停在 li 上时,我希望它的子 UL 打开(显示),但事实并非如此: Products
我遇到了 IE 无法呈现 :hover 效果的问题。这是我的 CSS #navlist li:hover { color: white; cursor: pointer; -w
我的 WordPress 主题中有这段代码: /js/jquery.latest.js"> $(document).ready(function() { $
我想在悬停时严格定位菜单。菜单会改变颜色和大小,但不会影响 li 菜单。我该怎么做? 请注意,这应该是 Accordion 菜单。将鼠标悬停在菜单上时,导航(子)会展开。我花了很多时间,但我无法在不弄
我想做的是获得悬停效果,使 anchor 链接稍微向下,但不知何故它会影响所有链接。有人可以指出我在这里做错了什么吗? nav { width: 100%; height: 5
我有一个 li 附加到 javascript 的 id 和 css 的类。 css 没有改变 li:hover 上的图像。我错过了什么吗?任何帮助深表感谢!抱歉,如果显示不正确,我就没法发帖了。
我试图只设置第一个 li 元素的样式。当我用 a 元素包裹 li 元素时,所有内容都被选中。这是我的 HTML: 和 CSS: li:first-of-type {
警告...这里不是 CSS 工具箱中最锋利的工具... 我正在尝试使用 UL 编写一个树控件...但遇到了一个 CSS 问题。为了简化问题,我将示例归结为一些可能没有意义的东西,但 CSS 问题的本质
我试图将最后一个列表项的高度拉伸(stretch)到 100%,以匹配向右浮动的 div 的动态高度。 ul.menu li:last-child {height:100%} 我得到的地方的例子..
如何让 li:hover 在移动设备上正常工作? 在 iphone 上它甚至不打开,在 android 上它在触摸后不关闭 :S 我想创建一个自定义下拉菜单,我需要 javascript 从被点击的
我有一个列表,是这样的: bla text1 text2 现在是否可以通过 JQuery 选择特定类的 li:first-child? 我不想选择class="empty",我想选择"
有点奇怪, 我知道你们中的一些人可能会问为什么,但我想知道是否可以在用户将鼠标悬停在某些链接上时更改它们的语言? nav li:hover { **change language here**
我确实有一个元素列表,在 jQuery 的帮助下可以使用不同的颜色: $('ul.follows li:nth-child(odd)').addClass('alternate'); 在我添加 a 之
下面是我的html结构 Home About Feedback Contact us 但是 .foote
我写 css 是为了让 li 标签更好。 在笔记本电脑和我的手机(lenovo vibe 1)和华硕 zenfone 5 上一切正常 但是当我在 Iphone 5 和 Galaxy Note3 上测试
我是一名优秀的程序员,十分优秀!