您可以使用 jQuery 将元素附加到子元素,然后设置样式以达到效果。
注意:您还需要定位附加.child-after
元素以匹配父元素的宽度。
这个小提琴应该让你走上正确的道路。
jQuery:
$('.parent').each(function() {
var $this = $(this);
var parentWidth = $this.outerWidth();
var $child = $this.find('.child').eq(0);
var childWidth = $child.outerWidth();
$child.append('<span class="child-before"></span>').append('<span class="child-after"></span>');
$child.find('.child-before').css('width',parentWidth + 'px');
$child.find('.child-after').css('width',(childWidth - parentWidth) + 'px');
});
CSS:
.parent { width:40px; background:#e6e6e6; }
.child {
position: absolute;
width: 200px;
height: 100px;
background: #efefef;
top:20px;
}
.child-before,
.child-after {
display:block;
position: absolute;
top: 0;
}
.child-before {
left: 0;
height: 70px;
background-image: url(http://placehold.it/5x70);
background-repeat: repeat;
}
.child-after {
left: 40px;
height: 40px;
background-image: url(http://placehold.it/5x40);
background-repeat: repeat;
}