CSS 箭头在与右侧对齐时出现故障

标签 css

我使用 CSS 在下拉菜单容器上放置一个小箭头。

http://jsfiddle.net/0bscj7tm/

#nav {
    position: relative;
    width: 200px;
    height: 200px;
    top: 20px;
    padding: 20px;
    border: 1px solid #f00;
    background: #fff;
}
#nav:after,
#nav:before {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    bottom: 100%;
    left: 20px;
    border: solid transparent;
    pointer-events: none;
}
#nav:before {
    border-color: rgba(0, 255, 255, 0);
    border-bottom-color: #f00;
    border-width: 8px;
    margin-left: -8px;
}
#nav:after {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #fff;
    border-width: 7px;
    margin-left: -7px;
}

但是,我希望箭头从右侧对齐一定数量的像素。在 #nav:after, #nav:before 类中,我将 left: 20px 更改为 right: 20px,但这使得边框左侧箭头太粗,右侧不可见:http://jsfiddle.net/vx2Lpt19/1/

有人可以帮助我让箭头在距离右侧对齐 20 像素时看起来正确吗?

最佳答案

尝试更改您的 margin-left声明至margin-right#nav:before#nav:after .

以下是更改后的样子:http://jsfiddle.net/o4efcsk8/

关于CSS 箭头在与右侧对齐时出现故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31749930/

相关文章:

CSS 将全屏图像与最大高度对齐到中间

html - 如何垂直对齐带有两个按钮的图标?

javascript - 新iPad(iPad 3),如何处理图像?自动加载正确大小的 JS 脚本?

css - Angular 8 - Kendo TextArea 组件中的 formControlName

css - 在包含路径的 svg 选定部分上旋转动画

html - CSS "~"选择器不工作

javascript - 如何在 JavaScript 中删除 <style> 标签内的所有元素?

javascript - 一个 CSS 风格的倒数计时器?

css - Font Awesome 不工作(空白方 block )

javascript - 添加类后如何保持 HTML 元素摇晃/移动