LI 内部的 DIV 元素

DIV element inside of LI

本文关键字:元素 DIV 内部 LI      更新时间:2023-09-26

我在显示带有隐藏div 的列表时遇到问题。我使用 jQuery 中的 toggleSlide() 函数在单击 LI 元素时显示/隐藏 DIV 元素。

当 DIV 可见时,问题就来了,因为它覆盖了其余元素,而不是在列表元素之间留出一个空格来打印它。

目前,这是我拥有的代码:

elementList.append('<li class="element" onclick="toggleDetails(this);"><span class="elementName">' + elementsArray[i]["descMarca"] + ' ' + elementsArray[i]["descModelo"] + '</span>'
                            + '<div class="elementDetails hidden"><label for="marca">Marca:</label><span>' + elementsArray[i]["descMarca"] + '</span>'
                            + '<label for="modelo">Modelo:</label><span id="modelo">' + elementsArray[i]["descModelo"] + '</span>'
                            + '<label for="serialN">Licencia:</label><span id="serialN">' + elementsArray[i]["serialN"] + '</span>'
                            + '<label for="productN">Número de producto:</label><span id="productN">' + elementsArray[i]["productN"] + '</span>'
                            + '<label for="fecAlta">Fecha de alta:</label><span id="fecAlta">' + fecAlta + '</span>'
                            + '<label for="fecRenov">Fecha de renovación:</label><span id="fecRenov">' + fecRenov + '</span></div></li>');
elementList.css('display', 'block');

作为必需的CSS,这个:

.element {
    height: 5vh;
    line-height: 5vh;
    padding-left: 20px;
    vertical-align: center;
    cursor: pointer;
}
.elementDetails {
    width: 50%;
    margin-left: 25%;
}

如果我在 LI 元素上设置display: inline;,它会按预期工作。当我想要一个垂直列表时,问题就来了,所以无法完成为每个 LI 元素设置display: inline;属性。

提前谢谢。

您需要

display: block;(而不是display: inline;)设置为li元素