【问题标题】:Keeping caption width same as image, and getting surrounding text to wrap [duplicate]保持标题宽度与图像相同,并让周围的文本换行 [重复]
【发布时间】:2011-12-21 23:37:35
【问题描述】:

我正在开发一个包含各种带字幕图像的网站。这些图像会随着时间而改变,宽度也会有所不同。我希望标题始终与图像的宽度相同,而不必说明实际的图像宽度。

我在这个论坛上发现了一个由 Marc Audet 提供的 JQuery 脚本(“CSS - div 宽度取决于上面的图像大小”2011 年 3 月 30 日),它似乎有效。我更改了类名以匹配我自己的,否则脚本应该与他提供的相同。

$(document).ready(function() {
    theWidth = $(".photo_caption img").css('width');
    $(".photo_caption").css('width',theWidth);
});

但是,有两件事我有疑问。

1- .photo_caption 上的 CSS 样式都不起作用。我可以给它一个紫色的 4 px 边框,向右添加浮动,添加 100 像素的填充,但这些都没有发生。为什么不应用样式?我还想知道这个问题是否与下面的第二个问题有关。

2-我希望周围的段落文本环绕图像和标题。我尝试在 .photo_caption div 上添加一个浮点数,但到目前为止没有任何效果。

这是该网站的链接。我指的是中间一栏,“高中生,立即申请 NBCAF 艺术奖学金”。

www.laurafigdesign.com/nbcaf

作为一个非常新手的设计师,我感谢任何解决这些问题的建议。

谢谢, 劳拉

【问题讨论】:

    标签: jquery css image width


    【解决方案1】:

    关于问题 #1 - CSS 样式不适用。

    当我查看 .photo_caption 样式表中的规则时,我看到了:

    .photo_caption {
        width:1%;
    Â  Â Â border: 1px solid orange;
    Â  Â Â margin: 0 auto;
    Â Â  Â float:left;
    Â Â  Â padding:12px;
        background-color:  #f00;
    }
    

    那里似乎有一些奇怪的 unicode 字符(在边界之前等)。摆脱这些,它应该可以工作。

    至于让周围的文本换行,浮动它应该可以工作。我认为这可能与您之前的问题有关。

    【讨论】:

    • 非常感谢!我正在使用一个非常基本的文本编辑器,从没想过要打开隐形。删除字符解决了这两个问题。
    • 虽然这解决了我最初的问题,但它揭示了更多。似乎 JQuery 脚本将相同的宽度应用于所有图像,因此即使我的两个图像具有不同的宽度,第一个的宽度也适用于两者。这显示了正在发生的事情。 laurafigdesign.com/nbcaf我可以为每个图像使用不同的类,但有没有更简单的方法?此外,我希望“精选艺术家”下的文字位于图像和标题下方。我在花车上尝试了一堆变体,但没有任何效果。感谢您的任何建议!
    • 您需要计算每个图像的宽度,而不是只计算第一个图像的宽度。您应该使用 .each() 函数遍历所有照片并为每张照片应用自定义宽度。给我一分钟,我会用一个例子拼凑出一个 jsfiddle。
    • 看看这个。我认为它可以满足您的需求:jsfiddle.net/MKJym
    • 恶意,再次感谢您对此的帮助。是的,你的例子很好,但我一定做错了什么。我不知道 JQuery 并且最初插入了 Marc Audet 提出的脚本。你能告诉我我做错了什么吗? laurafigdesign.com/nbcaf
    猜你喜欢
    • 1970-01-01
    • 2022-06-12
    • 2016-01-09
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    相关资源
    最近更新 更多