Html 当我将内容包装在<;a>;标记时,链接不会';我不在IE工作,帮帮忙?

Html 当我将内容包装在<;a>;标记时,链接不会';我不在IE工作,帮帮忙?,html,Html,我知道这可能是不赞成的,但客户希望实时文本包装在一个标签 因此,我的困境是: 我有一些这样的代码: <a href="google.com"> <img src="img.jpg" style="float:left;"> <div style="float:right;"> <h3>Title</h3> <p>Description</p> </di

我知道这可能是不赞成的,但客户希望实时文本包装在一个标签

因此,我的困境是:

我有一些这样的代码:

<a href="google.com">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
    </div>
    <div style="clear:both;"></div>
</a>
<div onClick="javascript:window.open('google.com')">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
    </div>
    <div style="clear:both;"></div>
</div>
<a style="display: block; position: relative;" ><div/></a>

我将样式设置为display:block

这种方法在FF5中非常有效,即并非所有内容都是可点击的,在本例中,只有图像是可点击的。铬=工作。Safari=工作

如果你有一个不同的方法,你可能会建议,请提供它


提前谢谢

您可以尝试将
转换为
,并使用javascript和css使其看起来和工作起来像一个链接

<div onclick="document.location.href='http://www.google.com'" style="cursor:pointer">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
   </div>
     <div style="clear:both;"></div>
</div>

标题
描述


在HTML4中,
标记中不允许使用块级元素,因此我不希望它跨浏览器工作

更好的解决方案可能是使用Javascript onclick事件将用户发送到预期目标

<div id="clickable_div" onclick="document.location.href='http://google.com'">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
    </div>
    <div style="clear:both;"></div>
</div>

标题
描述


建议不要在内联元素中使用块级元素。它不会总是正确呈现(除了语义不正确之外)。尝试删除浮动并使用跨距来设置要成为H3和p的零件的样式

<a href="google.com">
    <img src="img.jpg" style="float:left;">
    <span class='title'>Title</span>
    <span class='desc'>Description</span>

</a>


这是完全违反规则的,因为
是一个错误。所以,它在InternetExplorer中不起作用也就不足为奇了。事实上,它可能在许多其他浏览器中都不起作用,即使在它确实起作用的浏览器中,也不能保证它能继续工作

我能想到的唯一解决方法是JavaScript,如下所示:

<a href="google.com">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
    </div>
    <div style="clear:both;"></div>
</a>
<div onClick="javascript:window.open('google.com')">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
    </div>
    <div style="clear:both;"></div>
</div>
<a style="display: block; position: relative;" ><div/></a>

标题
描述


但是,这将破坏对没有JavaScript或已禁用JavaScript的用户的支持。

尝试如下设置链接样式:

<a href="google.com">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
    </div>
    <div style="clear:both;"></div>
</a>
<div onClick="javascript:window.open('google.com')">
    <img src="img.jpg" style="float:left;">
    <div style="float:right;">
        <h3>Title</h3>
        <p>Description</p>
    </div>
    <div style="clear:both;"></div>
</div>
<a style="display: block; position: relative;" ><div/></a>


如果这是杀死所有IE用户?这是一个可行的选择吗?虽然有些人说你不能做你正在做的事情,但这在HTML5中是有效的,但在HTML4中不是有效的,IE,不是一个现代浏览器,如果没有帮助,根本不能做这件事。这将是最快的解决方案,因为你不需要改变任何东西,只需要改变锚。“完全反对”是一个太强的词语选择。。。HTML5允许您将一个
元素包装在除另一个
元素之外的任何东西上。“标记中不允许使用块级元素”-对于HTML4为true,对于HTML5为false。