2014-02-17 3 views
0

Как установить CSS для отображения границ внутри td, а не снаружи при наведении. Обычно, когда я навешиваю ячейку, и я установил границу в стиле наведения, строки таблицы перемещаются по ширине границы наведения. Я хочу, чтобы он показывался внутри, поэтому не двигался. (Например, ячейка шириной 10px и добавить 2px границу, я все еще хочу, это будет 10 ширина пикселя, но с 2px границы с каждой стороны, таким образом, 6px слева для согласия.)Граница внутри ячейки

jsfiddle: http://jsfiddle.net/reg4f/

Вот мой HTML:

<table> 
<tr> 
<td> 
    <a>po</a> 
</td> 
<td> 
    <a>út</a> 
</td> 
</tr> 
<table> 

и CSS

table { 
    width: 250px; 
    height: 250px; 
    table-layout: fixed; 
    border: solid black 1px; 
    border-collapse: collapse; 
} 
table td, table tr { 
    text-align: right; 
    vertical-align:middle; 
} 
td:hover{ 
    background-color: #E5F3FB; 
    border: solid 4px #70C0E7; 
    border-style: inset; 
} 
td a { 
    display:block;width:100%;height:100%;margin:0 
} 

ответ

0

Вы можете попробовать добавить белую или прозрачную границу ячейки, когда это не так: парить и переопределить эту белую границу ваш цветной, когда это: наведите указатель мыши. Так что у вас нет движения.

td { 
border: solid 4px rgba(0,0,0,0); 
} 

Вот пример: http://jsfiddle.net/G6w9P/

+0

Я попытался это, но прозрачная граница переписывает один парения в. Фактически отображаются только нижние и правые, а слева и сверху скрыты прозрачной рамкой. Во всяком случае, это не так. – user3319891

+0

Действительно? В данном примере jsFiddle у меня нет скрытой левой и верхней границы. Это только другой цвет, чем нижний и правый, поскольку стиль границы наведения установлен на «вставка», это означает, что браузер изменит цвет левой и верхней границы, чтобы создать ощущение 3D. Попробуйте это, может быть, это то, что вы хотите? http://jsfiddle.net/qw6vT/ – JaGo

+0

Хорошо. Мне пришлось удалить крах границы, потому что он разрушает границу таблицы и границу td, тем самым перемещая строки. – user3319891

0

Я бы предложить добавить отступы, чтобы не парить те же ширины, что и на границе зависания. При наведении удалите прокладку и добавьте границу.

Что-то вроде:

td{ 
    padding:2,2,2,2; 
    border:none; 
} 

td:hover{ 
    padding:0,0,0,0; 
    border:solid 2px red; 
} 

Приветствия -L

Смежные вопросы