不知道CSS3 的 background-clip 属性是否能满足你的需求。这个属性可以规定背景的绘制区域,代码如下 :
<!DOCTYPE html><html>
<head>
<title></title>
<style>
.rect {
width:120px
height:120px
border:1px solid #999
padding:5px
background-color:green
background-clip:content-box
}
</style>
</head>
<body>
<div class="rect"></div>
</body>
</html>
结果如下:
将 background-clip 属性值设置为 content-box 将背景内容裁剪到内容框,这样只要改变 padding 值就可以实现边框不动,颜色变动。