CSS 最简洁hover事件的淡入淡出写法,且不占文档流位置!

html-css025

CSS 最简洁hover事件的淡入淡出写法,且不占文档流位置!,第1张

关于CSS的特效,大部分都是使用了hover事件,或者你再完成一些特殊要求的时候,你会使用mouseenter和mouseleave来代替hover,我就遇到过一种就是鼠标移开时,悬浮显示的元素依然占了文档流,而且你不能使用display:none来隐藏他,这样的话,过渡效果会受到影响!

最简单的hover写法,淡入淡出,关键在于pointer-events的使用,保证淡入淡出都有过渡效果的同时,子元素不会被父元素hover事件所影响!

方法有很多种,下面我介绍一种纯CSS的实现的方式:

<!DOCTYPE html>

<html lang="zh-cn">

<head>

<meta charset="utf-8" />

<title></title>

<style>

html,

body {

margin: 0

padding: 0

}

.main {

width: 460px/*每个box的宽度为150px,间隔为5*2*/

margin: 0 auto

}

.demo {

float: left

display: inline-block

}

.box {

height: 150px

width: 150px

background: #3695d5

position: relative

overflow: hidden

}

.inbox {

height: 50px

line-height: 50px

text-align: center

color: #FFF

width: 100%

position: absolute

bottom: -50px

background: rgba(0, 0, 0, 0.3)

transition: 1s/*过渡效果*/

}

.box:hover>.inbox {

bottom: 0

}

</style>

</head>

<body>

<div class="main">

<div class="demo">

<div class="box">

图片

<div class="inbox">

文字

</div>

</div>

</div>

<div class="demo" style="margin: 0 5px 0 5px">

<div class="box">

图片

<div class="inbox">

文字

</div>

</div>

</div>

<div class="demo">

<div class="box">

图片

<div class="inbox">

文字

</div>

</div>

</div>

</div>

</body>

</script>

</html>