<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
#click{
margin: 300px auto;
width: 100px;
height: 100px;
background: #000;
cursor: pointer;
}
</style>
</head>
<body>
<div id="click"></div>
</body>
</html>
如上代码只能够在可见的那个黑色的正方形中点击。
为了扩大可点击的区域,我们现在有几种办法:
- 方法1,设置一层透明边框
border: 100px solid transparent;
background-clip: padding-box;
如果按钮有背景色,那么边框很可能会扩大按钮的可视尺寸。于是可以采用background-clip属性将背景限制在padding-box区域内。
补充一句,IE9以下的IE不支持background-clip.
它有三个可选的值background-clip: border-box(背景被裁剪到边框盒)|padding-box(背景被裁剪到内边距)|content-box(背景被采集到内容框);
关于原理和各个细节 ---!!! 待更
- 方法2,利用伪元素
//首先,我们将click设置成relative,之后伪元素设置为absolute
#click{
position:relative;
}
#click::before{
content: '';
position: absolute;
top: -100px;
bottom: -100px;
left: -100px;
right: -100px;
}
我的疑问,那么,当我们要求button为fixed的时候,这个时候怎么做?---!!!待更