Jquery 如何在两列列表中正确使用浮点

Jquery 如何在两列列表中正确使用浮点,jquery,html,css,listitem,Jquery,Html,Css,Listitem,我正在做一个清单,有两列清单,按日期排序。我想使用以下方法交替不同日期的背景色(白色/红色/白色/红色): .evenDayBlock { background:#red } 问题是,由于我浮动了每个列表项,因此在填充列表时,带有类evenDayBlock的div没有向下扩展。如果删除每个列表项的浮动,div将正确展开。如何使用float,同时确保父div尊重子div的大小 更新 好吧,我知道我不能用列表项代替div,因为它会产生邪恶的东西。我在这里更新了小提琴: 全部切换到div

我正在做一个清单,有两列清单,按日期排序。我想使用以下方法交替不同日期的背景色(白色/红色/白色/红色):

.evenDayBlock {
    background:#red
}

问题是,由于我浮动了每个列表项,因此在填充列表时,带有类
evenDayBlock
的div没有向下扩展。如果删除每个列表项的浮动,div将正确展开。如何使用float,同时确保父div尊重子div的大小

更新

好吧,我知道我不能用列表项代替div,因为它会产生邪恶的东西。我在这里更新了小提琴:


全部切换到div。这让我处于一个更好的位置,因为现在evenDayBlock被推过了第一个oddDayBlock,但它仍然没有扩展到包含的所有子div。

在更正小提琴的语义后(请参见对问题的评论),您应该尝试在所有浮动元素的父容器上使用
溢出:hidden
(例如,如果
  • 浮动,则对直接父容器使用溢出技巧)


    或者,您也可以使用该方法。

    在更正小提琴的语义后(请参阅问题的注释),您应该尝试在所有浮动元素的父容器上使用
    溢出:隐藏
    (例如,如果
  • 浮动,则对直接父容器使用溢出技巧)


    或者,您也可以使用该方法。

    我不确定您是否正确,但在使用浮动并想要设置终点线后,您应该:

    <div style="clear:both;">
    

    我不确定您是否做对了,但在使用浮动并想要设置终点线后,您应该:

    <div style="clear:both;">
    

    如果块中有浮动元素,并且块的背景没有扩展到其内容的大小,可以通过在块的样式中添加“溢出:自动”来解决此问题

    .evenDayBlock {
        background:#red;
        overflow:auto;
    }
    
    顺便说一下,
    “#red”
    对我来说似乎很奇怪,请使用
    “red”
    “#F00”


    我希望这对您有所帮助。

    如果您的块中有浮动元素,并且块的背景没有扩展到其内容的大小,您可以通过在块的样式中添加“溢出:自动”来解决此问题

    .evenDayBlock {
        background:#red;
        overflow:auto;
    }
    
    顺便说一下,
    “#red”
    对我来说似乎很奇怪,请使用
    “red”
    “#F00”


    我希望这能对你有所帮助。

    divs不能直接成为ul的孩子,li的也不能直接成为divs的孩子。我赞同@KevinB的评论。
      元素的唯一有效直接子元素是
    • s,而
    • 元素的唯一有效直接父元素是
        s。您可以将任何元素嵌套在
      • 内或
          外,但它们之间不应嵌套。@Terry
        • 元素唯一有效的直接父元素是
            或s:-)div不能是ul的直接子元素,li不能是div的直接子元素。我附和@KevinB的评论。
              元素的唯一有效直接子元素是
            • s,而
            • 元素的唯一有效直接父元素是
                s。您可以将任何元素嵌套在
              • 内或
                  外,但它们之间不应嵌套。@Terry
                • 元素的唯一有效直接父元素是
                    s或s:-)