:hover 在 IE8 上效果不佳
:hover doesn't work well on IE8
嗨,我的 :hover CSS 代码有一个小问题。在 IE8 上,当我将鼠标移到文本上时我的 link 悬停,但外部文本不起作用。我真的不知道我的错误在哪里。需要一些帮助!
html:-
<a href="#" class="ctaBlock" name="">text text text</a>
CSS:-
.ctaBlock {
border: 1px solid #333;
font: 400 10px/43px arial,helvetica,sans-serif;
color: #333;
letter-spacing: .1em;
display: inline-block;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-transform: uppercase;
line-height: 42px;
width: 34%;
}
#content .ctaBlock:after {
font-size: 7px;
font-weight: 400;
line-height: 1;
font-family: iconFont;
font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: greyscale;
font-style: normal;
font-variant: normal;
letter-spacing: normal;
text-decoration: none;
text-transform: none;
content: '>';
display: inline;
margin-left: 3px;
}
#content .ctaBlock:hover {
background:rgb(255,255,255);
background: transparent;
background:rgba(255,255,255,0.3);
filter:progid:DXImageTransform.
Microsoft.gradient(startColorstr=#4cffffff,endColorstr=#4cffffff);
zoom: 1;
text-decoration: none;
cursor: pointer;
}
不透明度 属性 在 IE8 中不起作用。添加这个 background:rgb(255,255,255);然后在末尾分别加上opacity:0.8。或者如果你使用散列颜色代码会更好。
IE8 在处理元素的透明部分时存在一些问题。我前一段时间遇到了同样的问题,我通过在 CSS:
中添加透明图像(1px x 1px)作为背景来解决它
background-image: url("transparent.png");
或者用一个数据-URL:
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wgUEhgsb9YM9wAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAADUlEQVQI12NgYGBgAAAABQABXvMqOgAAAABJRU5ErkJggg==);
我认为一个更简单的解决方案是为您的 link 添加非透明背景色。但这取决于您对透明背景的需求。我还没有测试第二种解决方案,但你可以试试看。
嗨,我的 :hover CSS 代码有一个小问题。在 IE8 上,当我将鼠标移到文本上时我的 link 悬停,但外部文本不起作用。我真的不知道我的错误在哪里。需要一些帮助!
html:-
<a href="#" class="ctaBlock" name="">text text text</a>
CSS:-
.ctaBlock {
border: 1px solid #333;
font: 400 10px/43px arial,helvetica,sans-serif;
color: #333;
letter-spacing: .1em;
display: inline-block;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-transform: uppercase;
line-height: 42px;
width: 34%;
}
#content .ctaBlock:after {
font-size: 7px;
font-weight: 400;
line-height: 1;
font-family: iconFont;
font-smoothing: antialiased;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: greyscale;
font-style: normal;
font-variant: normal;
letter-spacing: normal;
text-decoration: none;
text-transform: none;
content: '>';
display: inline;
margin-left: 3px;
}
#content .ctaBlock:hover {
background:rgb(255,255,255);
background: transparent;
background:rgba(255,255,255,0.3);
filter:progid:DXImageTransform.
Microsoft.gradient(startColorstr=#4cffffff,endColorstr=#4cffffff);
zoom: 1;
text-decoration: none;
cursor: pointer;
}
不透明度 属性 在 IE8 中不起作用。添加这个 background:rgb(255,255,255);然后在末尾分别加上opacity:0.8。或者如果你使用散列颜色代码会更好。
IE8 在处理元素的透明部分时存在一些问题。我前一段时间遇到了同样的问题,我通过在 CSS:
中添加透明图像(1px x 1px)作为背景来解决它background-image: url("transparent.png");
或者用一个数据-URL:
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wgUEhgsb9YM9wAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAADUlEQVQI12NgYGBgAAAABQABXvMqOgAAAABJRU5ErkJggg==);
我认为一个更简单的解决方案是为您的 link 添加非透明背景色。但这取决于您对透明背景的需求。我还没有测试第二种解决方案,但你可以试试看。