Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何删除边界半径后角上的白色像素_Html_Css - Fatal编程技术网

Html 如何删除边界半径后角上的白色像素

Html 如何删除边界半径后角上的白色像素,html,css,Html,Css,我创建了一个带有圆角的简单无序列表,当选择列表项时,我希望背景变成蓝色以显示活动状态。当我没有边界半径时,一切看起来都很棒 但是,当我使用4px的边界半径来圆角所有边,并选择底部圆角的最后一个列表项5时,蓝色活动状态现在在角上显示小的白色像素。我似乎不知道如何防止这种情况发生。谢谢你的帮助 HTML JS 首先,为活动选项卡指定半径 .dash-stats-3 ul li a.active-tab { z-index:120; border-top: 1px solid #5b8

我创建了一个带有圆角的简单无序列表,当选择列表项时,我希望背景变成蓝色以显示活动状态。当我没有边界半径时,一切看起来都很棒

但是,当我使用4px的边界半径来圆角所有边,并选择底部圆角的最后一个列表项5时,蓝色活动状态现在在角上显示小的白色像素。我似乎不知道如何防止这种情况发生。谢谢你的帮助

HTML

JS

首先,为活动选项卡指定半径

.dash-stats-3 ul li a.active-tab {
    z-index:120;
    border-top: 1px solid #5b82a7;
    background: #4e81be; /* Old browsers */ 
        -webkit-border-radius: 0px 0px 2px 2px;
        border-radius: 0px 0px 2px 2px;  
}
确保它小于李的半径2px

并删除处于默认状态的a的半径。去掉这个

.left-dash div ul li:last-child a{
  -webkit-border-radius: 0px 0px 4px 4px;
  border-radius: 0px 0px 4px 4px; 
}
留着这个

.left-dash div ul li:last-child{
  -webkit-border-radius: 0px 0px 4px 4px;
  border-radius: 0px 0px 4px 4px; 
}
请查看:


问题是您给子元素的边界半径与父元素的边界半径相同。即使父元素没有边框,也会显示一些小像素,有边框的情况更糟。检查此项:

确定。我认为这简化了事情。过来看。我希望有帮助


我想你可能在一个div-box阴影上涂了点什么?你应该申请每个独立的li甚至链接。Parent div不知道border radius正在应用于它的一些子级,它应该适应它。您好,谢谢您的帮助。我认为不可能将框阴影应用于单个li或链接,这会使每个框都有自己的下拉阴影,而不是整个无序列表。我不明白为什么父div会导致问题,如果所有的边界半径都是相同的?这段代码很粗糙。我建议把它降低一个档次,把问题归结为简单的问题。我从来没有见过!以前在JSFIDLE中使用过的重要信息。这些选择器简直是疯了。我想你可能想得太多了。另外,你可能会注意到,有时候边界半径看起来很奇怪,比如,4px等等,平均屏幕无法平滑渲染,因为它太小了,像素太多了。在视网膜屏幕上检查它作为一个侧面测试。感谢您提供的解决方案,我看到您实现这一点的方法是将活动选项卡上的边界半径更改为2px,而不是4px。没有办法使边界半径始终保持一致吗?@trying_hal9000我更新了我的答案,检查示例,并从父级移除边界,仍然会显示一些像素,唯一的解决方法是有一个绝对子级,当父级有顶部时,它将完全覆盖父级:0;左:0;右:0;底部:0;需要tested@trying_hal9000如果你可以牺牲内部的,然后改为处理li,点击它,给它上色,把它的边框也涂成蓝色,我想你会避免这个问题。嗨,再次感谢你的帮助。我厌倦了只使用李的,问题仍然存在。我从来不知道父母和孩子的问题。我使用上面的方法进行了一次黑客攻击,javascript还将父div的边界半径更改为6px,这样活动选项卡的4px边界半径仍然小于父div。这似乎是可行的,但也似乎是更多的jscode@trying_hal9000很好的技巧,不用担心使用JS,我知道用纯css做事情更好,但是JS无处不在,使用它并不丢脸。父和子边界半径的问题甚至不能用绝对子级解决。我测试了它,当然,如果大小很小,它不会被注意到,因为额外的像素只有2个像素,我认为这是渲染问题,可能在浏览器和其他浏览器之间有所不同;在那里。。。在a上,我开始怀疑我是否理解这个问题。谢谢你的帮助,但这个解决方案并不能真正解决我的问题,如果我能够进行整个重新设计,我想我可以使用这个解决方案。仅供参考,因为你很关心这个问题!这一点很重要,因为我将项目中的代码复制并粘贴到JSFIDLE中。
.dash-stats-3 ul li a.active-tab {
    z-index:120;
    border-top: 1px solid #5b82a7;
    background: #4e81be; /* Old browsers */ 
        -webkit-border-radius: 0px 0px 2px 2px;
        border-radius: 0px 0px 2px 2px;  
}
.left-dash div ul li:last-child a{
  -webkit-border-radius: 0px 0px 4px 4px;
  border-radius: 0px 0px 4px 4px; 
}
.left-dash div ul li:last-child{
  -webkit-border-radius: 0px 0px 4px 4px;
  border-radius: 0px 0px 4px 4px; 
}
<ul class="test-list">
    <li><a href="?">Item thing</a></li>
    <li><a href="?">Item thing</a></li>
    <li><a href="?">Item thing</a></li>
    <li><a href="?">Item thing</a></li>
    <li><a href="?">Item thing</a></li>
    <li><a href="?">Item thing</a></li>
</ul>
/* border box - google it. it rules*/ 
* { 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
}

.test-list {
    float: left;
    overflow: hidden;
    list-style: none;

    /* just to show the properly containing ul */  
    margin: 2em;
    background-color: rgba(0,0,0,.05);
    padding: 1em;
}

.test-list li {

}

.test-list a {
    display: block;
    float: left;
    clear: left;
    background-color: #f06;
    padding: 1em 2em;
    min-width: 12em;

    color: white;
    text-decoration: none;
    border: 3px solid rgba(0,0,0,1);
    border-bottom: 0;
}

.test-list a:hover {
    background-color: lightblue;
    color: black;
}

.test-list li:first-of-type a {
    -webkit-border-radius:.4em .4em 0 0;
    border-radius: .4em .4em 0 0;
}

.test-list li:last-of-type a {
    -webkit-border-radius: 0 0 .4em .4em;
    border-radius: 0 0 .4em .4em;
    border-bottom: 3px solid black;
}