gpt4 book ai didi

html - 修复动画扩展 div 中的内容布局

转载 作者:太空宇宙 更新时间:2023-11-04 13:46:23 27 4
gpt4 key购买 nike

在此Fiddle ,

<!DOCTYPE html>

<body>
<div class="test">
<h1>?</h1>
<p>This is a paragraph that offers more information about stuff, it can be accessed by hovering over the question mark. (Move your mouse away to shrink back.)</p>
</div>

<h1>Examples</h1>
<br />

<h3>My name is Shaun</h3>
<div class="test">
<h1>?</h1>
<p>People with this name tend to be passionate, compassionate, intuitive, romantic, and to have magnetic personalities. They are usually humanitarian, broadminded and generous, and tend to follow professions where they can serve humanity. Because they are so affectionate and giving, they may be imposed on. They are romantic and easily fall in love, but may be easily hurt and are sometimes quick-tempered.</p>
</div>
<h3>I am on a see food diet</h3>
<div class="test">
<h1>?</h1>
<p>when I see food, I want to eat it.</p>
</div>

</body>

我想解决两个问题:

  1. 将鼠标悬停在问号上,您可以看到随着 div 扩展其中的文本,它会不断重新格式化自身以适应 div。相反,我想要发生的是,根据完全展开时 DIV 的大小,文本已经处于正确的大小。
  2. 我如何动态选择 DIV 的大小,以便它的最大扩展大小是其中包含的文本的大小我试过 100%,但这只是使它成为网页的大小。

最佳答案

1) 为了使文本不会随着容器的扩展而重新定位,需要您将段落元素的宽度设置为等于展开框的宽度:

.test:hover, .test p {
width: 750px;
}

另外,你有 p元素设置为 display: inline;必须更改为 display: block; (虽然 inline-block 也可以)因为你不能在 inline 上显式设置宽度元素。

演示:http://jsfiddle.net/UfhG2/6/

2) 这有点棘手。如果没有脚本,你不能让一个元素在不使用 auto 的情况下缩小到它的内容的大小。对于 heightwidth ,据我所知,您无法轻松地从指定的 height 转换。或 widthauto , 但这里有一些建议:

http://n12v.com/css-transition-to-from-auto/

或者,作为一种简单的妥协,您可以设置:

.test:hover {
height: auto;
}

因此,高度不会发生变化,但您仍然会得到一个尺寸合理的盒子,并且宽度仍然会很好地扩展。

演示:http://jsfiddle.net/UfhG2/8/

3) 此外,您可能需要考虑使用 pseudo-elements而不是重复 <h1>?</h1> :

.test:before {
content:'?';
margin: 0;
color: white;
font-size: 2em;
font-weight: bold;
}
.test:hover:before {
display: none;
}

演示:http://jsfiddle.net/UfhG2/7/

关于html - 修复动画扩展 div 中的内容布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22481845/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com