如何在div的右侧设置背景图像并从右侧设置填充而不从左侧定义固定距离?例如,我想在div的右侧设置一个图像,并且从右边始终有20px填充。
div的宽度并不总是相同,这就是我无法定义确切位置的原因。我只是希望它在右侧有精确的20px填充,无论div的宽度是多少。
我正在尝试使用代码,但它不起作用。
HTML:
<div>Title</div>
CSS:
div{
background: url(gowalla.png) no-repeat right center;
width: 400px;
border: 1px solid red;
padding: 20px;
}
答案 0 :(得分:2)
使用background-position: 96% 50% ;
第一个值表示x-axis
,第二个值表示y-axis
。
SEE THIS LINK的解释。
div{
background: url(http://cdn1.iconfinder.com/data/icons/35-Sweet-social-icons/32/gowalla.png) no-repeat 96% 50% ;
width: 400px;
border: 1px solid red;
padding: 20px;
}
<强> DEMO 强>
更新了答案
尝试添加外部div并为内部div指定边距
<强> HTML 强>
<div class="wrap"><div>Title</div></div>
<强> CSS 强>
.wrap{
border:solid 1px green;
display:inline-block;
width:auto;
}
.wrap div{
width: 400px;
background: url(http://cdn1.iconfinder.com/data/icons/35-Sweet-social-icons/32/gowalla.png) right no-repeat;
margin-right: 20px;
padding:20px
}
<强> DEMO 2 强>
答案 1 :(得分:1)
据我所知,你不能用CSS做到这一点。您只有两种选择:
使用包含DIV
个标签的两个标签。一个保持边界,外部间距,第二个保持背景。
<div class="outer"><div class="inner">Title</div>
和CSS
.outer{
width: 400px;
border: 1px solid red;
padding: 0px 20px;
}
.inner{
background: url('gowalla.png') no-repeat right center;
padding: 20px 0px;
}
答案 2 :(得分:0)