【发布时间】:2014-04-20 19:10:53
【问题描述】:
我的 div 有两种样式,左对齐和右对齐。左侧的 BG 已对齐到位。我知道要设置多个背景,我会使用它。
background: url(../assests/icons/dialog_left_point.png) left top no-repeat,
url(../assets/icons/dialog_left_bg.png) 15px top repeat-y;
CSS 将图像从左侧对齐 X 像素,然后从顶部对齐 X 像素,这适用于从左侧对齐背景图像。正如您在示例中看到的那样。
这是用于将图像从右侧对齐以复制右侧效果的 CSS。
.default .msg_text_right{
background:url(../assests/icons/dialog_right_point.png) right top no-repeat;
}
如您所见,箭头的图像出现了,但没有其他内容。我试着添加这个:
.default .msg_text_right::after{
content:'';
position:absolute;
top:0px;
left:0px;
right:0px;
bottom:0px;
background-color:red;
background:url(../assests/icons/dialog_right_bg.png) right top repeat-y;
}
这导致只显示箭头。我碰巧认为我已经很接近了,但我不明白为什么 ::after 标记没有加载任何内容。
这是我的完整代码,它有助于显示容器大小和容器样式的 CSS:
.default .msg_text{
background: url(../assests/icons/dialog_left_point.png) left top no-repeat, url(../assests/icons/dialog_left_bg.png) 15px top repeat-y;
}
.default .msg_text_right{
background:url(../assests/icons/dialog_right_point.png) right top no-repeat;
}
.default .msg_text_right::after{
content:'';
position:absolute;
top:0px;
left:0px;
right:0px;
bottom:0px;
background-color:red;
background:url(../assests/icons/dialog_right_bg.png) right top repeat-y;
}
.msg_data li .msg_text, .msg_data li .msg_text_right{
width:auto;
max-width:55%;
min-height:18px;
height:auto;
font-size:12px;
line-height:16px;
color:#000;
padding-top:11px;
padding-bottom:5px;
font-family:'coertschrift_dikregular';
}
.msg_data li .msg_text{
float:left;
left:40px;
padding-right:5px;
padding-left:25px;
}
.msg_data li .msg_text_right{
float:right;
right:40px;
padding-right:25px;
padding-left:5px;
}
HTML/PHP
$d = '';
$data = '<div id="inner_content">
<ul class="msg_data default">';
for($x = 0; $x < 10; $x++){
$data .= '
<li>
<div class="pp'.$d.'"><img src="assests/profile.png" /></div>
<div class="msg_text'.$d.'">Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user Messge text from user </div>
<div style="clear:both"></div>
</li>
';
if($d == '_right'){
$d = '';
}else{
$d = '_right';
}
}
$data .= '</ul></div>';
die(json_encode(array('err' => 0, 'err_msg' => 'Some error message', 'msg' => $data)));
【问题讨论】:
-
请细化你的代码块之间的气味(至少我不明白你在追求什么)。请告诉我们您的图片的尺寸和透明度(这可能很重要)。
-
没问题看更新
-
您似乎不能将
px定位与背景重复一起使用。当我将值更改为NNpx(jsfiddle.net/pzqJ2/1) 时,Firefox 27 会警告格式错误的 CSS。此外,图像按顶部图像在左侧的顺序堆叠。
标签: html css background alignment