gpt4 book ai didi

javascript - 使用 Jquery 设置 CSS 宽度时边框半径发生变化

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:07 25 4
gpt4 key购买 nike

我遇到的问题是 border-radius<div/>在应用 css 时被删除 width通过 jQuery 的属性。 <div/>具有半径的也正在裁剪 absolute定位<div/> .我在下面包含了一个示例:

http://jsfiddle.net/SLvBZ/2/

这是一个适用于 Twitter 的类似示例(先登录): https://twitter.com/welcome/recommendations

浏览器版本:Chrome 26.0.1410.65

#SuggestProgressContainer {
height: 27px;
float: left;
margin: 4px 20px 0 0;
position: relative; top: 0; left: 0;
width: 247px;
overflow: hidden;

border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}

#SuggestProgressBar {
width: 247px;
height: 27px;
background: #c6c6c6;
border: 1px solid #bfbfbf;
position: absolute; top: 0; left: 0;
}

#SuggestProgress {
height: 100%;
width: 50px;
position: absolute; top: 0; left: 0;
border: 1px solid #068CE1;
background: #0F93E7;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#1c9dee), to(#068ce1));
background: -webkit-linear-gradient(top, #1c9dee, #068ce1);
background: -moz-linear-gradient(top, #1c9dee, #068ce1);
background: -ms-linear-gradient(top, #1c9dee, #068ce1);
background: -o-linear-gradient(top, #1c9dee, #068ce1);

-webkit-transition: width 230ms ease-out;
-moz-transition: width 230ms ease-out;
-ms-transition: width 230ms ease-out;
-o-transition: width 230ms ease-out;
transition: width 230ms ease-out;
}

#ProgressText {
position: absolute;
top: 5px;
left: 10px;
font-size: 11px;
font-weight: 700;
color: #fff;
text-shadow: 0 -1px rgba(0,0,0, .15);
}

最佳答案

有一个bug in webkit (或至少 Chrome)与 border-radiusoverflow: hiddenposition 的组合而不是 static .您在 Twitter 上的示例链接使用静态位置。所以我想说你唯一的选择是使用 position: static。为此,我修改了您的代码:

<div id="SuggestComplete">
<div id="SuggestProgressContainer">
<div id="SuggestProgressBar">
<div id="SuggestProgress"></div>
</div>
<span id="ProgressText">Follow 5 collections</span>
</div>
</div>

<div id="button">test</div>

CSS:

#SuggestProgressContainer {
height: 27px;
float: left;
margin: 4px 20px 0 0;
position: relative; top: 0; left: 0;
width: 247px;
/*overflow: hidden;

border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;*/ /* removed here */
}

#SuggestProgressBar {
width: 247px;
height: 27px;
background: #c6c6c6;
border: 1px solid #bfbfbf;
position: absolute; top: 0; left: 0;

/* added overflow and border radius here */
overflow: hidden;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}

#SuggestProgress {
height: 100%;
width: 50px;
/*position: absolute; top: 0; left: 0;*/ /* so it is static to prevent the bug */
border: 1px solid #068CE1;
background: #0F93E7;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#1c9dee), to(#068ce1));
background: -webkit-linear-gradient(top, #1c9dee, #068ce1);
background: -moz-linear-gradient(top, #1c9dee, #068ce1);
background: -ms-linear-gradient(top, #1c9dee, #068ce1);
background: -o-linear-gradient(top, #1c9dee, #068ce1);

-webkit-transition: width 230ms ease-out;
-moz-transition: width 230ms ease-out;
-ms-transition: width 230ms ease-out;
-o-transition: width 230ms ease-out;
transition: width 230ms ease-out;
}

这似乎有效。 Here is a demo .

有趣的是,错误报告中描述的问题似乎已解决,因为当时即使没有以编程方式更改 width,问题也会发生。但看起来他们也忘记了解决重新渲染事件的问题。

关于javascript - 使用 Jquery 设置 CSS 宽度时边框半径发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16657765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com