Javascript 宽显示器上的引导4:居中,并确保图像不高于包装它的文本
首先,很抱歉我的问题。我不期望这里的答案能对21世纪的计算机科学有所帮助,但我很感谢社区的帮助 我试图就以下链接的CodePen项目:Javascript 宽显示器上的引导4:居中,并确保图像不高于包装它的文本,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,首先,很抱歉我的问题。我不期望这里的答案能对21世纪的计算机科学有所帮助,但我很感谢社区的帮助 我试图就以下链接的CodePen项目: 使主图像和标题在任何视图中居中,以及 在陨石坑图像和相关段落文本方面具有以下行为: 当段落文本大于图像时,文本环绕图像(在较小的显示器上) 当段落文本高度缩小(显示范围变宽)时,图像的高度不应超过它 这是一个指向该项目代码笔的链接,其中(无可否认)有一些调试代码作为JS,ID名为#hacky-*: . 我做这项工作的一些尝试实际上使页面变得更糟(现在,图像以
- 当段落文本大于图像时,文本环绕图像(在较小的显示器上)
- 当段落文本高度缩小(显示范围变宽)时,图像的高度不应超过它
#hacky-*
:
. 我做这项工作的一些尝试实际上使页面变得更糟(现在,图像以一定的尺寸位于某些后续段落的下方)
当您增大/缩小显示宽度时,很明显包含图像的div正在改变高度,因此jQuery:
$(window).on("resize", resizeImage)
function resizeImage() {
var x = $("#hacky-p-id").outerHeight();
$("#hacky-img-id").css("height", x);
$("#hacky-h3-id").text("Height: " + x);
console.log("yes!");
}
是有影响的,只是绝对不是我想要的(实际上是相反的)。这是一个复杂的事实,它应该是一种img流体
,我本以为在规定的高度下可以很好地工作,但我没有足够的知识来完全理解这里的幕后可能发生的事情
非常感谢您的帮助。问题1:您正在
bootstrap.min.js
之后加载jquery.min.js
问题2:您没有加载引导4所需的tether.min.js
问题3:您将#hacky-p-id
放在了错误的段落上
问题4:…您已将#hacky img id
放置在图像的容器上,这不会缩小图像
在这一点上,我停止计数,因为我发现你的标记完全被破坏了。在HTML
中,关闭要打开的所有成对标记非常重要
您应该避免的另一件事是使用嵌套的容器流体
s。唯一可接受的嵌套引导容器
s是当您将容器
放置为容器流体
的直接子对象时。大多数其他的容器
嵌套都会导致边距/填充问题,大多数人发现这些问题很难调试/修复。实际上,一旦你有了一个容器
,你就不需要在里面再放一个了(除了上面的例子)——你只需要行
列-*-*
组合
这是你的一支钢笔。但是,我没有按照您最初的要求做,这是根据段落高度缩小图像,因为我碰巧认为这是一个非常糟糕的设计决策,因为它可能会产生严重的渲染问题:当您调整图像大小使其高度与段落高度匹配时,它会改变宽度,使段落回流并(可能)更改高度,使图像再次调整大小,使段落再次回流等等。。。这有可能进入渲染循环,这将使速度较慢的设备暂停,并导致浏览器崩溃。简言之,绝对不要这样做
我并不特别同意但尚未“修正”的其他决定包括:
- 将所有页面放置在
.jumbotron
- 在
中表示字体大小。您应该使用vmax
并启用rem
。这是安全可靠的解决方案px
bootstrap.min.js
之后加载jquery.min.js
问题2:您没有加载引导4所需的tether.min.js
问题3:您将#hacky-p-id
放在了错误的段落上
问题4:…您已将#hacky img id
放置在图像的容器上,这不会缩小图像
在这一点上,我停止计数,因为我发现你的标记完全被破坏了。在HTML
中,关闭要打开的所有成对标记非常重要
您应该避免的另一件事是使用嵌套的容器流体
s。唯一可接受的嵌套引导容器
s是当您将容器
放置为容器流体
的直接子对象时。大多数其他的容器
嵌套都会导致边距/填充问题,大多数人发现这些问题很难调试/修复。实际上,一旦你有了一个容器
,你就不需要在里面再放一个了(除了上面的例子)——你只需要行
列-*-*
组合
这是你的一支钢笔。但是,我没有按照您最初的要求做,这是根据段落高度缩小图像,因为我碰巧认为这是一个非常糟糕的设计决策,因为它可能会产生严重的渲染问题:当您调整图像大小使其高度与段落高度匹配时,它会改变宽度,使段落回流并(可能)更改高度,使图像再次调整大小,使段落再次回流等等。。。这有可能进入渲染循环,这将使速度较慢的设备暂停,并导致浏览器崩溃。简言之,绝对不要这样做
我并不特别同意但尚未“修正”的其他决定包括:
- 将所有页面放置在
.jumbotron
- 在
中表示字体大小。您应该使用vmax
并启用rem
。这是安全可靠的解决方案px