css 列表 hover时闪动
选中事件:
//企业列表增加单击事件 $('.company-name').on('click','li.enabled',function () { var $self=$(this); $('.company-name li.li-active').removeClass('li-active').removeClass('enabled_hover').addClass('enabled'); $self.removeClass('enabled').addClass('li-active').addClass('enabled_hover'); });
为什么要使用这种方式?
另外一种方式(方式二):
$('.company-name li.enabled').click(function () { var $self=$(this); $('.company-name li.li-active').removeClass('li-active').removeClass('enabled_hover').addClass('enabled'); $self.removeClass('enabled').addClass('li-active').addClass('enabled_hover'); });
为什么不使用方式二呢?
因为刚开始初始选中的item的class 是"li-active enabled_hover",没有"enabled"
使用方式二时,没有给初始选中的item增加事件
hover时闪动的原因是原来item的border 粗细为1px,hover时border 粗细变为2px,那么item的宽高就有变化,所以导致闪动
解决方法:
hover时 宽和高分别减少2px,css如下:
没有hover时的样式:
.company-name li{ width:258px; height:30px; line-height:30px; color:#333; border:1px solid #dfdfdf; border-radius:2px; margin-bottom:10px; text-align: center; padding:0px 1px; }
高度为30px,并且左右的padding分别为1px
hover时的样式:
/* hover时,高度减少两个像素 */ .company-name li.enabled:hover,.company-name li.enabled_hover{ border:2px solid #ff4646; height: 28px; line-height: 28px; padding:0px 0px; }
如上,高度共减少了2px,左右的padding分别减少1px,达到目的
相关推荐
总的来说,解决CSS中的`hover`做遮盖罩闪动问题需要理解元素的层级关系以及`hover`状态的触发条件。通过调整CSS规则,我们可以确保遮盖罩在正确的时间出现且不会因为鼠标位置的变动而闪烁。同时,适当的过渡效果能...
通过上述方法,可以有效解决IE6浏览器下链接伪类(:hover)CSS背景图片闪动BUG的问题,减少用户在浏览网页时的困扰,同时也减轻服务器的负载,提升网站的整体性能。这种兼容性问题的处理经验对于前端开发者来说非常...
在本文中,我们将深入探讨如何使用CSS3、JavaScript、jQuery以及HTML5来创建波浪闪动的文字动画特效。这个特效可以为网站增加视觉吸引力,使用户界面更具动态感。 首先,我们从HTML5的基础结构开始。为了实现波浪...
2. **CSS3 Selectors**: CSS3提供了更强大的选择器,如伪类(`:hover`, `:active`, `:focus`)和属性选择器,使得我们可以更精确地控制元素在不同状态下的样式。在音量开关的动画中,这些选择器可能被用来改变图标在...
这些特效充分利用了CSS3的许多新特性,如伪类选择器(`:hover`, `:active`, `:focus`等),动画(`animation`),变换(`transform`),过渡(`transition`),以及自定义字体(`@font-face`)等。这些特性让开发者...
然而,这种方式在遇到滚动条时会出现一个问题,即页面内容在滚动条出现和消失时发生跳动,影响用户体验。这是因为滚动条的出现会占据页面的可用宽度,导致原本居中的内容发生偏移。 为了解决这个问题,通常有两种...
在网页设计中,我们经常需要通过CSS来控制元素在不同状态下的样式,比如当鼠标悬停在链接上时,我们可能希望链接的字体变粗,以此来提供视觉反馈。然而,在实际操作中,可能会遇到一些意料之外的问题,比如本文标题...
`.hover()`方法实际上是一个简写,它接受两个函数作为参数:第一个函数在鼠标进入元素的边界时被触发,第二个函数在鼠标离开元素的边界时被触发。在给定的代码片段中,当鼠标悬停在`<li>`元素上时,会显示一个带有...
3. IE6 下链接伪类 hover 过后,CSS 背景图片出现闪动的 BUG: 这个 BUG 的原因是 IE6 的一个 bug,解决方法是使用以下 CSS 代码: ``` a:hover {background-image: none;} ``` 或者使用 JavaScript 代码来解决这个...
1. `:hover`伪类:用于定义鼠标悬停时元素的样式,是实现过渡效果的关键。 2. `transform`属性:可以改变元素的位置、尺寸、形状和角度,常用于动画效果。 3. `transition-duration`:指定过渡效果的持续时间。 4. `...
由于子菜单与导航栏不是嵌套关系,我们不能仅使用CSS的 `:hover` 伪类来实现,因此需要借助JavaScript。 代码示例展示了如何使用 `clearTimeout()` 来解决这个问题: ```javascript $(function () { var tagsTime...
例如,当用户悬停在网点上时,可能通过CSS3的`:hover`伪类实现高亮效果,或者通过动画实现平滑的放大或缩小。 此外,这个项目还涉及到了地图的实现。在中国地图的处理上,开发者可能使用了SVG(Scalable Vector ...
`,然后给包含`div1`和`div2`的父元素添加`hover`伪类,当父元素被悬停时,改变`div2`的`display`属性为`block`,使其显示。这样,只有当鼠标悬停在父元素上时,`div2`才会显示,且不会因事件触发而闪烁。 以下是一...
这些效果可以通过CSS的关键帧动画(`@keyframes`)定义,然后将动画应用到按钮的`hover`状态。例如: ```css button:hover { animation: myAnimation 1s infinite; /* 将myAnimation替换为相应的动画名称 */ } ``` ...
这不仅增加了网络请求的次数,而且在使用hover效果时,图片可能会出现闪动现象。这种情况下,可以使用条件注释结合JavaScript来强制IE6缓存背景图片。具体的代码示例是使用条件注释来检测是否为IE6,如果是,则通过`...