Jquery 设置表格边框的样式,使其在行高亮显示时不移动?

Jquery 设置表格边框的样式,使其在行高亮显示时不移动?,jquery,css,Jquery,Css,我正在使用表格创建一个下拉菜单。我正在为行高亮显示添加jQueryUI提供的“ui状态高亮显示”类 我现在的问题是,每当突出显示一个项目时,它都会使菜单的大小改变几个像素。我曾尝试使用填充来解决此问题,但似乎不起作用 更一般地说,当调整子元素的大小而不明确设置高度和宽度时,如何设置元素的样式以保持相同的宽度/高度?已更新 向TR元素添加新样式,即与容器背景匹配的“不可见”边框。然后在悬停时,它不会增加高度,相反,边框颜色只是在改变 tr{ 边框:#fff实心1px; } 您得到的震动效果是因为边

我正在使用表格创建一个下拉菜单。我正在为行高亮显示添加jQueryUI提供的“ui状态高亮显示”类

我现在的问题是,每当突出显示一个项目时,它都会使菜单的大小改变几个像素。我曾尝试使用填充来解决此问题,但似乎不起作用

更一般地说,当调整子元素的大小而不明确设置高度和宽度时,如何设置元素的样式以保持相同的宽度/高度?已更新

向TR元素添加新样式,即与容器背景匹配的“不可见”边框。然后在悬停时,它不会增加高度,相反,边框颜色只是在改变

tr{
边框:#fff实心1px;
}


您得到的震动效果是因为边框为1px。边框是在鼠标移动时添加的,而在鼠标移动时删除的,这会产生这种效果

你可以用一个便宜的伎俩来避免它

 //Change white if the background color of your screen is different.
 tr { border: 1px solid white; } 
编辑:您可以使用透明颜色来避免与背景颜色匹配

tr { border: 1px solid transparent; }

这里

看起来好像有人刚刚发布了与我更新的答案相同的答案。这是一个很酷的技巧,但正如你所指出的,它有点便宜。此外,我正在处理的站点使用jQuery themeroller,因此用户可以随时更改样式,以便背景可以更改。可以设置一个不可见的边框吗?或者我应该在行悬停时修改父对象的填充或其他内容吗?是的,可以使用透明颜色“tr{border:1px solid transparent;}”。