Helpex - Trao đổi & giúp đỡ Đăng nhập
14

Tôi đang cố gắng làm nổi bật đường viền của một hàng trong bảng khi di chuột. Thật không may, điều này chỉ hoạt động cho hàng ô đầu tiên. Các hàng dưới có một đường viền không đổi màu. Tôi đã thử sử dụng outlinenhưng nó không hoạt động tốt :hovertrong webkit.

http://jsfiddle.net/S9pkM/2/

Hãy tưởng tượng html bảng tiêu chuẩn của bạn. Một số tr với một số td. Di chuột qua một hàng sẽ làm nổi bật đường viền của nó bằng màu đỏ.

table { border-collapse: collapse; } /*I am aware of separate */
table td { border: 3px solid black; }
table tr:hover td { border-top-color: red; border-bottom-color: red; }
table tr:hover td:first-child { border-left-color: red; }
table tr:hover td:last-child  { border-right-color: red; }

Tôi sẵn sàng cho các phương pháp tiếp cận thay thế, nhưng tôi bị mắc kẹt với cấu trúc bảng. Không chèn thêm html ngoài tiêu chuẩn<table> <tr> <td>

14 hữu ích 1 bình luận 16k xem chia sẻ
21

Tôi đã đối mặt với vấn đề tương tự và cuối cùng đã tìm thấy một giải pháp đơn giản hơn ở đây .

Bạn có thể sử dụng thủ thuật CSS này ( border-style: double;) hoạt động cho các đường viền 1px:

#mytable tr.row:hover td
{
    border-style: double;
    border-color: red;
}

Điều này sẽ làm cho border-colortác phẩm của bạn (đứng đầu nhất) không có vấn đề gì. :-)

21 hữu ích 5 bình luận chia sẻ
6

Đối với các đường viền 1px, hãy xem giải pháp của Leniel sử dụng border-style: double. Điều này đơn giản hơn nhiều. Đường viền kép là đường viền hiển thị đường 1px cho các cạnh bên trong và bên ngoài của đường viền. Điều này không có tác dụng gì đối với đường viền 1px, nhưng trên> 1px có một khoảng trống.

Đối với đường viền> 1px, bạn xóa đường viền dưới cùng của tất cả các đường viền <td>với border-bottom: 0. Các đường viền trên cùng của các ô khác sẽ giữ cho mọi thứ trông theo cách chúng cần, ngoại trừ hàng cuối cùng. Hàng cuối cùng chúng tôi sửa chữa với tr:last-child td { border-bottom: your border style }. Cuối cùng trong giả cổ điển di chuột của bạn, bạn đặt đường viền dưới cùng.

http://jsfiddle.net/S9pkM/16/

table { border-collapse: collapse; } /*I am aware of separate */
table td { border: 1px solid black; width: 50px; height: 25px; padding: 5px; border-bottom: 0; }
table tr:last-child td { border-bottom: 1px solid black; }
table tr:hover td { border-top-color: red; border-bottom: 1px solid red; }
table tr:hover td:first-child { border-left-color: red; }
table tr:hover td:last-child  { border-right-color: red; }
6 hữu ích 0 bình luận chia sẻ
0

tại sao không sử dụng đường viền riêng biệt? http://jsfiddle.net/S9pkM/6/

0 hữu ích 1 bình luận chia sẻ
0

Chỉ cần đặt mã này vào phần đầu của bạn:

<style>
  table td { border: 2px solid transparent; width: 50px; height: 50px; padding: 5px 5px 5px 5px;}
  table td:hover {border:2px solid red; }
</style>
0 hữu ích 1 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ html css colors border css-tables , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading