Jquery 在ImageButton上覆盖文本

Jquery 在ImageButton上覆盖文本,jquery,html,css,Jquery,Html,Css,有人知道一种简单的方法可以在图像上方显示文本吗?我发现的一个解决方案是只需执行以下操作: <img id='img1' src='myimage.jpg'> <div style='position:relative; top:-30px'> MY TEXT TO DISPLAY ON IMAGE</div> 要在图像上显示的我的文本 这将导致Div及其所有内容向上移动30像素。问题是我不知道自己的形象有多高。不过,我知道宽度。此外,我的页面上可能有许多

有人知道一种简单的方法可以在图像上方显示文本吗?我发现的一个解决方案是只需执行以下操作:

<img id='img1' src='myimage.jpg'>
<div style='position:relative; top:-30px'> MY TEXT TO DISPLAY ON IMAGE</div>

要在图像上显示的我的文本
这将导致Div及其所有内容向上移动30像素。问题是我不知道自己的形象有多高。不过,我知道宽度。此外,我的页面上可能有许多需要覆盖文本的动态图像,我不一定知道运行时图像在服务器上的绝对位置

我还没有成功地将图像制作成背景图像,因为我无法让它显示完整的图像--它只显示足够的图像以放置在div后面。如果您有任何建议或需要更多信息,请告诉我


PS:我对javascript/JQuery这样的客户端解决方案持开放态度。

使用JQuery,您可以使用获取图像大小。然后,您可以轻松地修改div的样式。

使用jQuery,您可以使用获取图像的大小。然后,您可以轻松地修改div的样式。

这是怎么回事

<div style="position: relative;">
  <img src="..." />
  <div style="position: absolute; top:0; left:0">!!! TEXT HERE !!!</div>
</div>

!!! 这里有文字!!!
这个怎么样

<div style="position: relative;">
  <img src="..." />
  <div style="position: absolute; top:0; left:0">!!! TEXT HERE !!!</div>
</div>

!!! 这里有文字!!!

背景图像最适合于此。类似

<style>
.thing {
  background-image: url(myimage.jpg);
  background-repeat: no-repeat;
  padding: 10px;;
</style>


<div class="thing">My Text</div>

.事情{
背景图片:url(myimage.jpg);
背景重复:无重复;
填充:10px;;
我的文字

背景图像最适合这样做。例如

<style>
.thing {
  background-image: url(myimage.jpg);
  background-repeat: no-repeat;
  padding: 10px;;
</style>


<div class="thing">My Text</div>

.事情{
背景图片:url(myimage.jpg);
背景重复:无重复;
填充:10px;;
我的文字

背景图像不是最好的——特别是在我们不确切知道页面其他部分的情况下——因此很难判断应该如何使用它们


对于背景图像,您无法检查图像的大小!不要忘记这一点。

背景图像不是最好的-尤其是在我们不确切知道页面的其他部分的情况下-因此很难判断应该如何使用它们


对于背景图像,您无法检查图像的大小!请不要忘记这一点。

如果您希望它与背景图像一起使用,请尝试以下操作:

    .btn {position: relative; background-image: url('yourimagehere.png'); width: 100px; height: 20px;}
    .btn span {position: absolute; top:0; left:0; width: 100px; height: 20px; }

    <div class="btn">
         <a  href="#">My Text<span/></a>
    </div>
.btn{位置:相对;背景图像:url('yourmagehere.png');宽度:100px;高度:20px;}
.btn span{位置:绝对;顶部:0;左侧:0;宽度:100px;高度:20px;}

注意,您需要为css中的按钮设置适当的宽度和高度。

如果您希望它与背景图像一起使用,请尝试以下操作:

    .btn {position: relative; background-image: url('yourimagehere.png'); width: 100px; height: 20px;}
    .btn span {position: absolute; top:0; left:0; width: 100px; height: 20px; }

    <div class="btn">
         <a  href="#">My Text<span/></a>
    </div>
.btn{位置:相对;背景图像:url('yourmagehere.png');宽度:100px;高度:20px;}
.btn span{位置:绝对;顶部:0;左侧:0;宽度:100px;高度:20px;}

请注意,您需要为css中的按钮设置适当的宽度和高度。

我意识到在我感兴趣的特定情况下,所有图像实际上都具有相同的高度。因此,以下标记对我来说很好:

<head>
<style type="text/css">
  .myClass {
    text-align:center;
    margin-top:-35px; /*set this to the distance from the bottom*/
    font-weight:bold;
    font-size:18px;
    color:#fff;
    background-color:#111;
    width:160px;
   }
</style>
</head>
<body>
<img src='My Fixed Size Image' />
<div class='myClass' runat='server'>MY TEXT HERE</div>
</body>

.myClass{
文本对齐:居中;
顶部边距:-35px;/*将此设置为距底部的距离*/
字体大小:粗体;
字号:18px;
颜色:#fff;
背景色:#111;
宽度:160px;
}
我的文本在这里

我意识到,在我感兴趣的特定情况下,所有图像实际上都具有相同的高度。因此,以下标记对我来说效果很好:

<head>
<style type="text/css">
  .myClass {
    text-align:center;
    margin-top:-35px; /*set this to the distance from the bottom*/
    font-weight:bold;
    font-size:18px;
    color:#fff;
    background-color:#111;
    width:160px;
   }
</style>
</head>
<body>
<img src='My Fixed Size Image' />
<div class='myClass' runat='server'>MY TEXT HERE</div>
</body>

.myClass{
文本对齐:居中;
顶部边距:-35px;/*将此设置为距底部的距离*/
字体大小:粗体;
字号:18px;
颜色:#fff;
背景色:#111;
宽度:160px;
}
我的文本在这里

为什么不单独使用
div

<div style="display:inline;background:url('img.png');width:128px;height:128px;">text here</div>
这里的文本

为什么不单独使用
div

<div style="display:inline;background:url('img.png');width:128px;height:128px;">text here</div>
这里的文本

只需确保将DIV的尺寸显式设置为背景图像的尺寸。感谢您的反馈。由于我不知道图像的高度,这将无法持续工作,因为10px可能是图像的75%,也可能是图像的2%——在这种情况下,文本看起来很糟糕。只需确保将DIV的尺寸显式设置为那些是背景图片。谢谢你的反馈。因为我不知道我的图片的高度,所以这不会一直起作用,因为10px可能是我图片的75%,也可能是我图片的2%——在这种情况下,文本看起来很糟糕。如果图片的大小未知(这是原始海报所说的),这是一个很好的答案谢谢你,Traingamer,很高兴知道有人真的读了原始问题。背景图像是一个很好的解决方案,但你需要知道图像的大小。如果你知道,你也可以使用-边距解决方案,不是吗?:)的确——谢谢你的反馈。因为我不知道我的图像的高度,所以这不会一直起作用。嗯我错过了什么吗?你不需要用这个解决方案知道图像大小。文字会被移到你的图像的左上角。抱歉的超迟反应。我的目标是让文本集中在图像的中间而不是放在左上角。因为我没有在这个问题中指定,我认为这个答案很好。(正如你从我自己的回答中看到的,我确实知道高度)。如果不知道图像的大小,这是一个很好的回答(这是原始海报所说的)谢谢Traingamer,很高兴知道有人真的阅读了原始问题。背景图像是一个很好的解决方案,但你们需要知道图像的大小。若你们知道,你们也可以使用这个-边距解决方案,不是吗?:)的确,谢谢你的反馈。因为我不知道我的图像的高度,所以这不会一直起作用。嗯,我遗漏了什么吗?你不需要知道这个解决方案的图像大小。文本将被移动到图像的左上角。很抱歉,太晚了