多行排列图片时hover上去加边框挤图片的解决方法兼容IE7+
(编辑:jimmy 日期: 2024/11/27 浏览:3 次 )
问题:
遇到多行多列排列的图片时,hover上去加边框会把下面的图片挤到别处
============================================================
注意:
IE11以下浏览器加载图片会默认给它加一个1px的边框
解决方法:对图片设置border:none
=============================================================
hover加边框解决方案:
原先:
复制代码代码如下:
<li>
<img />
<h3></h3>
<p></p>
</li>
1. 对元素设置透明边框(推荐):
复制代码代码如下:
li{
border:2px solid transparent;
}
li:hover{
border:2px solid red;
}
2. 对元素外再包裹一层div
更改后:
复制代码代码如下:
<li>
<div>
<img />
<h3></h3>
<p></p>
</div>
</li>
样式:
复制代码代码如下:
li{
wdith:468px;
}
div{
width:468px;
margin:2px;
padding:10px;
background-color:#fff;
}
div :hover{
margin:0;
border:2px solid red;
}
另外:
使用outline IE 7、8 不支持。
但它是显示在元素上面不会对元素加边框。不考虑IE兼容的可以直接用outline代替border
遇到多行多列排列的图片时,hover上去加边框会把下面的图片挤到别处
============================================================
注意:
IE11以下浏览器加载图片会默认给它加一个1px的边框
解决方法:对图片设置border:none
=============================================================
hover加边框解决方案:
原先:
复制代码代码如下:
<li>
<img />
<h3></h3>
<p></p>
</li>
1. 对元素设置透明边框(推荐):
复制代码代码如下:
li{
border:2px solid transparent;
}
li:hover{
border:2px solid red;
}
2. 对元素外再包裹一层div
更改后:
复制代码代码如下:
<li>
<div>
<img />
<h3></h3>
<p></p>
</div>
</li>
样式:
复制代码代码如下:
li{
wdith:468px;
}
div{
width:468px;
margin:2px;
padding:10px;
background-color:#fff;
}
div :hover{
margin:0;
border:2px solid red;
}
另外:
使用outline IE 7、8 不支持。
但它是显示在元素上面不会对元素加边框。不考虑IE兼容的可以直接用outline代替border
下一篇:css中height和line-height区别