将auto-height设置为具有最里面绝对div的父div

时间:2019-04-29 03:11:13

标签: javascript jquery html

我正在尝试为具有绝对最里面子级的父div设置自动高度。假设我有3个元素。一个父div,一个表和一个在表内的inner-div(具有绝对位置)。默认情况下,所有最里面的div都是隐藏的。但是,然后单击某个使该最里面的div出现的事件后,父div必须通过设置自动高度来容纳这些值。但是关于绝对元素的问题,它们的尺寸不能影响父母的尺寸。您能告诉我如何使用JavaScript来实现吗?谢谢。

<div class="parent">
    <table>
        <thead>
            <tr>
                <th>col1</th>
                <th>col2</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>row1<td>
                <td>row1<td>
            </tr>           
            <tr>
                <td>row2<td>
                <td>row2<td>
            </tr>   
            <tr>
                <td class="inner-div">
                    row3
                    <div class="inner-child">
                        <table>
                            <thead>
                                <tr>
                                    <th>col1</th>
                                    <th>col2</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td>row1<td>
                                    <td>row1<td>
                                </tr>           
                                <tr>
                                    <td>row2<td>
                                    <td>row2<td>
                                </tr>   
                            </tbody>
                        </table>
                    </div>
                <td>
                <td>row3<td>
            </tr>                    
        </tbody>
    </table>
</div>

请参见下面的图片。enter image description here

2 个答案:

答案 0 :(得分:0)

使用jQuery,您可以使用externalHeight()并计算所需的所有元素的高度。用https://api.jquery.com/css/

设置高度后

答案 1 :(得分:0)

是否有必要使用位置:绝对?

也许您可以相对于位置内部div使用position:,它们会自动影响父级的大小。