CSS3工具提示的倒圆角/倒圆角

CSS3工具提示的倒圆角/倒圆角,css,retina-display,masking,css-mask,Css,Retina Display,Masking,Css Mask,我正在尝试使用CSS创建一个类似以下内容的工具提示: 这就是我试图解决这个问题的方法: 所以,基本上我使用的是css3掩蔽: div:after { width: 61px; height: 10px; background: #fff; -webkit-mask-image: radial-gradient(circle 10px at 0px 0, transparent 0, transparent 10px, black 11px); top: -

我正在尝试使用CSS创建一个类似以下内容的工具提示:

这就是我试图解决这个问题的方法:

所以,基本上我使用的是css3掩蔽:

div:after {
    width: 61px;
    height: 10px;
    background: #fff;
    -webkit-mask-image: radial-gradient(circle 10px at 0px 0, transparent 0, transparent 10px, black 11px);
    top: -10px;
    right: 0px;
    position: absolute;
    content: '';
    display: block;
}
在常规显示器上看起来不错,但当您在视网膜显示器上查看或尝试放大时,您可以看到问题:

因为我使用渐变作为遮罩,当渐变中的颜色改变时,它看起来有点模糊。值得一提的是,圆角必须是透明的,因为它后面的背景不是固定的


你知道我如何解决这个问题吗

您可以使用长方体阴影:

.demo{
    position: absolute;
    left: 400px;
    top: 106px;
    background: #fff;
    width: 200px;
    height: 200px;
    -moz-border-radius:10px 0 10px 10px;
    -webkit-border-radius:10px 0 10px 10px;
    border-radius:10px 0 10px 10px;
    -moz-box-shadow: 3px 4px 20px rgba(0,0,0,.5);
    -webkit-box-shadow: 3px 4px 20px rgba(0,0,0,.5);
    box-shadow: 3px 4px 20px rgba(0,0,0,.5);    
    line-height:200px;
    text-align:center;
    color:#dbdbdb;
}

.demo:before {
    content: '';
    width: 50px;
    position: absolute;
    right: 0px;
    top: -26px;
    height: 16px;
    background: #fff;
    -moz-border-radius:10px 10px 0 0;
    -webkit-border-radius:10px 10px 0 0;
    border-radius:10px 10px 0 0;
    display: block;
}

.demo:after {
    width: 10px;
    height: 10px;
    background: transparent;
    top: -10px;
    right: 50px;
    position: absolute;
    content: '';
    border-bottom-right-radius: 100%;
    box-shadow: 50px 0px 0px 50px white;
    clip: rect(0px, 60px, 50px, 0px);
    display: block;
}

您可以使用长方体阴影进行此操作:

.demo{
    position: absolute;
    left: 400px;
    top: 106px;
    background: #fff;
    width: 200px;
    height: 200px;
    -moz-border-radius:10px 0 10px 10px;
    -webkit-border-radius:10px 0 10px 10px;
    border-radius:10px 0 10px 10px;
    -moz-box-shadow: 3px 4px 20px rgba(0,0,0,.5);
    -webkit-box-shadow: 3px 4px 20px rgba(0,0,0,.5);
    box-shadow: 3px 4px 20px rgba(0,0,0,.5);    
    line-height:200px;
    text-align:center;
    color:#dbdbdb;
}

.demo:before {
    content: '';
    width: 50px;
    position: absolute;
    right: 0px;
    top: -26px;
    height: 16px;
    background: #fff;
    -moz-border-radius:10px 10px 0 0;
    -webkit-border-radius:10px 10px 0 0;
    border-radius:10px 10px 0 0;
    display: block;
}

.demo:after {
    width: 10px;
    height: 10px;
    background: transparent;
    top: -10px;
    right: 50px;
    position: absolute;
    content: '';
    border-bottom-right-radius: 100%;
    box-shadow: 50px 0px 0px 50px white;
    clip: rect(0px, 60px, 50px, 0px);
    display: block;
}

有时图像只是SVG可缩放矢量图形的最佳选项。有时图像只是SVG可缩放矢量图形的最佳选项。太好了,这看起来更清晰了!太好了,这看起来锐利多了!