当前位置: 首页 > 知识库问答 >
问题:

边框颜色顺序

郁宾鸿
2023-03-14

我有一个表格,每个边框都设置为1px宽。我希望顶部、左侧和底部边框是黑色的,右侧边框是白色的。所以,我使用了这个css代码

border-right-color: white;    
border-left-color: black; 
border-top-color: black; 
border-bottom-color: black; 
border: solid 1px;

问题出现在IE9中,其中右上角的像素为白色,而右下角的像素为黑色。

我怀疑问题来自IE9重组样式的方式,因为当我在开发工具控制台中查看我的表的css时,它是这样排序的:

border-top-color: black;
border-right-color: white; 
border-bottom-color: black;  
border-left-color: black; 
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;

这让我想,也许,用于定义颜色的顺序使其顶部边框为黑色,然后右侧边框为白色(覆盖右上角),然后底部边框为黑色(覆盖右下角),最后左侧边框为左侧。

问题是,在白色背景上,上边框和下边框的长度似乎不一样(相差一个像素)。这可能不多,但我需要这两个边框来配合页面上的其他行。

那么,我该如何解决这个问题呢?这真的与边框的颜色顺序有关吗?如果是,我该如何改变它?

共有3个答案

孟璞
2023-03-14

你可以这样写:

div{
 border:1px solid black;
 border-right-color:white;
}
颛孙英才
2023-03-14

事实上,这很简单

border: solid 1px black;
border-right-style: hidden;

通过为右边框添加隐藏样式,现在效果很好。问题是,对于折叠或覆盖的边界,隐藏样式的边界将优先于任何其他样式。

诸正谊
2023-03-14

指定边框颜色的顺序无关紧要。浏览器只是以不同的方式显示边框。角落中的像素从任意一侧获取颜色,这取决于您使用的浏览器。

使用了几种不同的方法。以下是最常见的浏览器,以及它们如何绘制角点:

Internet Explorer:

+----------------------+--+
|                      |  |
+----------------------|  |
|  |                   |  |
|  |                   |  |
|  |                   |  |
|  +----------------------+
|  |                      |
+--+----------------------+

Firefox:

+--+----------------------+
|  |                      |
|  +----------------------+
|  |                   |  |
|  |                   |  |
|  |                   |  |
+----------------------|  |
|                      |  |
+----------------------+--+

镀铬:

+--+----------------------+
|  |                      |
|  |----------------------+
|  |                   |  |
|  |                   |  |
|  |                   |  |
|  +----------------------+
|  |                      |
+--+----------------------+

Safari:

+--+-------------------+--+
|  |                   |  |
|  |-------------------|  |
|  |                   |  |
|  |                   |  |
|  |                   |  |
|  +-------------------+  |
|  |                   |  |
+--+-------------------+--+

歌剧院:

+-------------------------+
|                         |
+-------------------------+
|  |                   |  |
|  |                   |  |
|  |                   |  |
|  +-------------------+  |
|  |                   |  |
+--+-------------------+--+

看起来好像不同的浏览器供应商千方百计地使用一种不同于所有其他浏览器的方法。。。

(在最新版本中进行了测试。任何浏览器的旧版本都可能会有所不同,但这并不重要,因为它们的差异太大了。)

因此,如果您需要完全控制角点的绘制方式,可以在彼此内部使用两个元素,在其中一个元素上放置垂直边框,在另一个元素上放置水平边框。

 类似资料:
  • 当前结果:下边框为灰色 所需结果:所有边框均为白色 问题:CSS中的边框颜色设置为白色

  • 问题内容: 我想在表格中某个字段的上方放置一条线,以表明它是上述值的总和。但是,该表默认情况下已经带有边框。 这是一个示例:我有一张折叠了边框的桌子。我将边框底部设置在一个字段上,将边框顶部设置在其下方的字段上。这两个都指定相同的边框。使用最上面的CSS。有没有一种方法可以使用最底层的? 这显示了两个单元格之间有一条红线。有办法获得金线吗? 问题答案: 这是的已定义行为。《 O’Reilly CS

  • 我想创建一个透明的圆形按钮,点击它应该有条带边框。我想用HTML、CSS或者必要的java脚本来实现这一点。 以下是一个示例:https://jsfiddle.net/chrichrichri/a9dpg582/38/ 结合: 到目前为止,我在Firefox中对其进行了测试-边框图像考虑了边框半径,但始终存在边框颜色覆盖-如果我有50%的透明度,我会看到条带和选定的颜色-但我只想要条带…如果我使用

  • 问题内容: 我的边框颜色有问题。没用 我是CSS新手, 问题答案: 默认情况下,is 和is 因此,您需要将它们设置为和。您可以将所有边框属性组合为一个,如下所示:

  • 我在JavaFX中的工具提示有问题。为了说明这个问题的核心,我通过IntelliJ Idea创建了新的JavaFX项目。该项目的根窗格是HBox with,并且HBox包含四个按钮(文本:按钮A-D)。每个按钮都设置了带有文本的工具提示:示例工具提示A-B。通过fxml文件,我还加载了保存在名为styles.css.的文件中的级联样式 问题描述:我启动应用程序,当我将鼠标悬停在第一个按钮上时,它的

  • null null 当我关注文本字段时,背景和边框颜色分别变为黄色和绿色(通过css)。 如果单击submit而不输入任何内容,边框颜色将变为红色(通过javascript)。 但当我再次将焦点放在文本字段时,红色边框颜色并没有消失,而是同时出现绿色和红色边框。 我只希望它是绿色的。你能不能也解释一下这种行为的原因。