Mam tabelę z każdą krawędzią ustawioną na szerokość 1px. Chcę, aby górna, lewa i dolna krawędź była czarna, a prawa krawędź biała. Więc użyłem tego kodu cssObramowanie kolorów obramowania
border-right-color: white;
border-left-color: black;
border-top-color: black;
border-bottom-color: black;
border: solid 1px;
Problem zaczyna się w IE9, gdzie w prawym górnym rogu pikseli będą białe, ale dolny prawy róg będzie czarny.
Podejrzewam, że problem jest utworzyć drogę IE9 reorganizacji styl, bo kiedy patrzę na css moim stole w konsoli narzędzi developper, zarządza się tak:
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;
To niech pomyślę że, być może, kolejność użyta do zdefiniowania kolorów sprawia, że górna ramka jest w kolorze czarnym, a prawa krawędź jest w kolorze białym (nadpisywanie prawego górnego rogu), następnie dolna ramka ma kolor czarny (nadpisywanie prawego dolnego rogu) i finałowa lewa granica jest w kolorze lewym.
Chodzi o to, że na białym tle górna i dolna krawędź nie wydają się być tej samej długości (o jeden piksel). To może nie być dużo, ale potrzebuję tych dwóch granic, aby pasowały do innych linii na mojej stronie.
Jak mogę to naprawić? Czy naprawdę chodzi o porządek, w którym granice są kolorowe, a jeśli tak, to jak mogę to zmienić?
Przeglądarki rysują ukośną linię od zewnętrznego narożnika do wewnętrznego rogu, w którym występuje przesunięcie kolorów. Jeśli szerokość obramowania jest ustawiona na 1 piksel, przeglądarka nie może go podzielić, więc IE wybierze górny prawy piksel jako biały, FF - w prawym dolnym rogu. Specyfikacja CSS3 nie określa, w jaki sposób przeglądarka powinna obsługiwać połączenia. Po usunięciu prawej krawędzi przekątna nie jest renderowana. Widać to lepiej, jeśli ustawisz wysokość: 0; i spróbuj zrobić trójkąty CSS. – jasssonpet
'border-right-style: hidden' to po prostu' border-right-style: none' dla nie-tabel. Sprawdź, czy 'border-right-color: transparent' produkuje coś innego? – BoltClock
Czy to możliwe, że tak naprawdę nie chcesz, aby prawe obramowanie było w ogóle białe, ale faktycznie niewidoczne (tak samo jak tło) lub w ogóle nie ma granicy? – Guffa