jquery - 响应式 CSS 三 Angular 形 jQuery 不工作

标签 jquery html css

<分区>


这个问题似乎与 help center 中定义的范围内的编程无关。 .

关闭 9 年前

所以,尽管这很有趣,但我最近才发现使用元素边框的 CSS 三 Angular 形的概念。我正在尝试在我的自定义 Wordpress 主题之一中实现此功能,但遇到了问题。我想在 div 的底部添加一个三 Angular 形(有点像横幅),但是那个 div 包含可以由用户设置的文本,所以我不能硬编码框和三 Angular 形的宽度.这导致我使用 jQuery 来尝试获取框的宽度,并适本地调整三 Angular 形的大小。当我第一次尝试使用一个简单的脚本将两个边框设置为总父宽度的一半时,我似乎遇到了一个问题,即框会随着元素加载而自行调整大小(似乎字体加载速度很慢)。我只是简单地包装了脚本以在元素调整大小时触发,但它似乎没有触发。这导致我的三 Angular 形保持大于它下面的框。你可以在这里看到效果:

http://dev3.thoughtspacedesigns.com

这是我的代码:

HTML

<div id="logo-box">
    <h1><?php bloginfo('name'); ?></h1>
    <div id="logo-box-point"></div>
</div>

CSS

#logo-box{
    background:#374140;
    display:inline-block;
    padding:20px;
    position:relative;
}

#logo-box h1{
    color:#f2f2f2;
}

#logo-box-point{
    content: ' ';
    width:0px;
    height:0px;
    border-left: 0px solid transparent;
    border-right: 0px solid transparent;
    border-top:25px solid #374140;
    border-bottom:0;
    position:absolute;
    bottom:-25px;
    left:0px;
    z-index:2;
}

jQuery

$(function(){
    function triangleSize(){
            var logoBoxWidth = $("#logo-box").width();
            $("#logo-box-point").css({"border-left-width":logoBoxWidth/2, "border-right-width":logoBoxWidth/2});
    }
    triangleSize();
    $("#logo-box").resize(function(){
            triangleSize();
    }
    );
}
);

我也尝试过使用 .change() 函数,但没有效果。关于导致此内容跳跃的原因,或者为什么我的功能没有触发的任何想法?我怀疑它与显示内联 block 有关,但我不知道如何修复它,因为 display:inline-block 是 div 正确显示的唯一方法。

最佳答案

调整大小不会触发这样的元素,使用:

$(window).resize(function(){
        triangleSize();
}

http://jsfiddle.net/TDcuD/

注意:您的代码似乎也没有考虑 DIV 的填充,这是我在 fiddle 中完成的。

关于jquery - 响应式 CSS 三 Angular 形 jQuery 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18109369/

上一篇:javascript - 当用户上下滚动页面时,让一个小箭头从左向右移动

下一篇:html - 将文本设置为图片,这两个图片都链接到图片中间的同一页面

相关文章:

javascript - jQuery 单击不适用于动态创建的元素

javascript - 如何提前结束 CSS 动画?

javascript - Bootstrap 模态 - 添加嵌入 PDF 的对象标签

HTML 表 CSS?

jquery - 在 jQuery 中获取元素

jquery - 位置垂直固定,水平动画

javascript - 如何将 window.location 设置为特定路径(没有主机)?

jquery - 对象不支持属性或方法 'slider'(Sharepoint 2010 中的 jquery)

jquery - 获取页面上而不是 div 中带有类的所有输入

javascript - 内联方法绑定(bind)是一种不好的做法吗?