CSS子元素在浮动或对齐时丢失父背景色

CSS子元素在浮动或对齐时丢失父背景色,css,parent,background-color,Css,Parent,Background Color,所有文本都有绿色背景色。但如果我加上: .parent { background-color: green; } 子对象不再保留此属性。我可以在孩子身上做背景色,但我需要突出显示两者之间的空间 有办法做到这一点吗 jsIDLE:子对象永远不会自动继承父对象的背景色。浮动内容正好位于父对象的背景之上。在这种情况下,父对象的背景仅跨越其实际内部文本的数量,而不包括浮动内容 幸运的是,通过设置结构的方式,可以显式地指定其父级的值 .孩子{ 浮动:对; 背景色:继承; } 如果你想要整条线都是

所有文本都有绿色背景色。但如果我加上:

.parent {
    background-color: green;
}
子对象不再保留此属性。我可以在孩子身上做背景色,但我需要突出显示两者之间的空间

有办法做到这一点吗


jsIDLE:

子对象永远不会自动继承父对象的背景色。浮动内容正好位于父对象的背景之上。在这种情况下,父对象的背景仅跨越其实际内部文本的数量,而不包括浮动内容

幸运的是,通过设置结构的方式,可以显式地指定其父级的值

.孩子{ 浮动:对; 背景色:继承; } 如果你想要整条线都是那种颜色,你需要。试试这个:

.child {
   float: right;
}

子对象永远不会自动继承父对象的背景色。浮动内容正好位于父对象的背景之上。在这种情况下,父对象的背景仅跨越其实际内部文本的数量,而不包括浮动内容

幸运的是,通过设置结构的方式,可以显式地指定其父级的值

.孩子{ 浮动:对; 背景色:继承; } 如果你想要整条线都是那种颜色,你需要。试试这个:

.child {
   float: right;
}

向父div元素添加overflow:hidden会有所帮助。向父div元素添加overflow:hidden会有所帮助。
<div class='parent'><span class='child'> and child</span>Parent</div>