【问题标题】:css : round cornered div on hovercss:悬停时的圆角div
【发布时间】:2010-09-30 12:10:36
【问题描述】:

我正在尝试完成一些看起来很简单的事情......

我有 3 个divs,其中包含一个单选按钮和一些内容:

     Content of DIV1,
[]   this can be as long or as tall
     as wanted

[]   Content of DIV2

[]   Content of DIV3

使用other posts 上的任何技术可以很容易地为每个 div 创建圆角。然而,我无法仅针对悬停事件执行此操作,即我希望仅当鼠标悬停在 div 上时才看到圆角框出现在 div 周围。有人在某处见过这样的例子吗?

编辑:我已经在使用 Prototype 和 Scriptaculous。我不能为此添加 jQuery。

【问题讨论】:

  • 我建议您编辑您的问题以表明您不能使用 jquery,并且您确实拥有您在评论中提到的库。

标签: css hover rounded-corners


【解决方案1】:

这会在 div 悬停时使用 jquery 更改 CSS

print("<div id="output" class="div"></div>



<script>

    jQuery(document).ready(function() {

    $("#output").hover(function() {
        $(this).css({ 'background-color': 'yellow', 'font-weight': 'bolder' });
    }, function() {

    $(this).css({ 'background-color': 'blue', 'font-weight': 'bolder' });
    });


    }
    );

");

【讨论】:

  • 上面的评论提到 jquery 不是这个用户的选项。
  • 不用担心。我会使用 jQuery,FWIW。
  • 好吧,我最终用 jquery 做这个
  • 感谢@Antony Delaney,非常有帮助
【解决方案2】:

您可能遇到的部分问题在于,在大多数 CSS 实现(以及该技术的浏览器实现)中,div 没有可以附加样式规则的 :hover 方法。

正如安东尼所说,jQuery 或许能够解决这个问题。

我将如何攻击它(因为我还没有研究过 jQuery)是设置你的标签(确实有一个悬停方法)来显示:块,你所有的伴随规则将其设置为 div,使其扩展以填充包含的 div,然后当然将圆角规则添加到悬停。

另一种方法是用 a 标签包围你的 div,但话又说回来,你仍然在设置 display:block、background 和其他不真正属于 a 的规则。

这完全是对语法的粗暴滥用,所以在尝试我的建议之前备份你的工作。

祝你好运 - 将它一直保持在 div 上可能会更容易,然后想想你可以做些什么来调出悬停效果。

【讨论】:

    【解决方案3】:

    我相信你可以用 jquery 做到这一点。
    http://docs.jquery.com/CSS

    http://docs.jquery.com/Events/hover

    【讨论】:

    • 我已经在使用prototype和scriptaculous...不能仅仅为此添加jquery
    • @m_oLogin:我在您的问题末尾添加了您关于 jQuery 的注释(稍作解释)。
    【解决方案4】:

    Css 定义悬停伪选择器,您可以利用它来解决您的问题或使用 javascript 来模拟该效果,在 onMouseEnter onMouseOut 事件上将 css 类添加/删除到正确的 div。

    【讨论】:

    • 但是浏览器并没有实现它,尤其是没有全面实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 2014-08-19
    相关资源
    最近更新 更多