html - 表不遵守容器高度

标签 html css height containers percentage

我正在处理一个 HTML 页面,我打算稍后将其与 PHP 一起使用,但是我遇到了一些与高度缩放有关的问题。

我的表格以及表格中的元素不遵守我在容器中设置的高度限制。

我不希望它超出页面范围,因为那样需要滚动条。有人有什么建议吗? (欢迎其他反馈)

HTML 代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="summonerTable.css"/>
<link rel="stylesheet" type="text/css" href="navBar.css"/>
</head>
<body>
<div class="summonerContainer">
    <div class="navbar">
    </div>
    <div id="gameDetails">
    </div>
    <table border="1" id="summonerTeams">
    <tr height="100%">
<!-- Begin Definitions !-->
        <td>

            <table width="100%" id="summonerTeamsDetails" height="100%">
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        Summoner Name
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td>
                    <table width="100%" height="100%" id="summonerTeamDetailsInterior" bgcolor="red">
                    <tr>
<!--                        <td width="50%" background="ChampionIcon.png" id="summonerImg" alt="Hello">-->
                        <td width="25%" bgcolor="aqua">
                            <img src="ChampionIcon.png" id="summonerImg2" alt="Hello"/>
                        </td>
                        <td width="12%">
                            <table height="100%" width="100%" id="summonerTeamDetailsInterior" bgcolor="aqua">
                            <tr>
<!--                                <td background="summonerSpell.png" id="summonerImg">-->
                                <td style="vertical-align:bottom;">
                                    <img src="summonerSpell.png" id="summonerImg" alt="Hello"/>
                                </td>
                            </tr>
                            <tr>
<!--                                <td background="summonerSpell.png" id="summonerImg"> -->
                                <td style="vertical-align:top;"> 
                                    <img src="summonerSpell.png" id="summonerImg" alt="Hello"/>
                                </td>
                            </tor>
                            </table>
                        </td>
                        <td width="75%">
                            <table height="100%" width="100%" id="summonerTeamDetailsInterior" bgcolor="red">
                            <tr>
                                <td bgcolor="black">
                                    <p>
                                        tryndamere
                                    </p>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <p>
                                        K/D/A: 1000/1000/1000
                                    </p>
                                </td>
                            </tr>
                            </table>
                        </td>
                    </tr>
                    </table>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Champion Games
                    </p>
                </td>
            </tr>
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        KDR
                    </p>

                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Ranking
                    </p>
                </td>
            </tr>
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        Series
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Runes
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Masteries
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Ranked Wins
                    </p>
                </td>
            </tr>
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        Normal Wins
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Show Champion Counters
                    </p>
                </td>
            </tr>
            </table>
        </td>
<!-- End Definitions !-->
        <td>
            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
        <td>
            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
        <td>
            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
        <td>
            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
    </tr>
    </table>
    <div id="summonerMiddleBar">
    </div>
    <table border="1" id="summonerTeams">
<!-- Summoner Details Table (2) !-->
    <tr height="100%">
<!-- Begin Definitions !-->
        <td>
            <table width="100%" id="summonerTeamsDetails" height="100%">
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        Summoner Name
                    </p>
                </td>
            </tr>
            <tr height="20%">
                <td>
                    <table width="100%" height="100%" id="summonerTeamDetailsInterior" bgcolor="red">
                    <tr>
<!--                        <td width="50%" background="ChampionIcon.png" id="summonerImg" alt="Hello">-->
                        <td width="25%" bgcolor="aqua">
                            <img src="ChampionIcon.png" id="summonerImg2" alt="Hello"/>
                        </td>
                        <td width="12%">
                            <table height="100%" width="100%" id="summonerTeamDetailsInterior" bgcolor="aqua">
                            <tr>
<!--                                <td background="summonerSpell.png" id="summonerImg">-->
                                <td style="vertical-align:bottom;">
                                    <img src="summonerSpell.png" id="summonerImg" alt="Hello"/>
                                </td>
                            </tr>
                            <tr>
<!--                                <td background="summonerSpell.png" id="summonerImg"> -->
                                <td style="vertical-align:top;"> 
                                    <img src="summonerSpell.png" id="summonerImg" alt="Hello"/>
                                </td>
                            </tr>
                            </table>
                        </td>
                        <td width="75%">
                            <table height="100%" width="100%" id="summonerTeamDetailsInterior" bgcolor="red">
                            <tr>
                                <td bgcolor="black">
                                    <p>
                                        tryndamere
                                    </p>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <p>
                                        K/D/A: 1000/1000/1000
                                    </p>
                                </td>
                            </tr>
                            </table>
                        </td>
                    </tr>
                    </table>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Champion Games
                    </p>
                </td>
            </tr>
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        KDR
                    </p>

                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Ranking
                    </p>
                </td>
            </tr>
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        Series
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Runes
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Masteries
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Ranked Wins
                    </p>
                </td>
            </tr>
            <tr height="5%">
                <td width="100%" bgcolor="red">
                    <p>
                        Normal Wins
                    </p>
                </td>
            </tr>
            <tr height="10%">
                <td width="100%" bgcolor="red">
                    <p>
                        Show Champion Counters
                    </p>
                </td>
            </tr>
            </table>
        </td>
<!-- End Definitions !-->
        <td>

            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
        <td>
            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
        <td>
            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
        <td>
            <p>
                AAAAAAAAAAAAAAAA
            </p>
        </td>
    </tr>
    </table>
    <div class="footer">
    </div>
</div>
</body>
</html>

CSS 代码:

@charset "utf-8";
/* CSS Document */
html, body
{
    height:100%;
    width:100%;
    font:"Courier New", Courier, monospace;
    color:white;
}

.summonerContainer
{
    width:100%;
    height:100%;
    padding:0;
    margin:0;
    resize:none;    
}
#summonerTeams
{
    width:100%;
    margin:0;
    padding:0;
    table-layout:fixed;
    padding:0;
    margin:0;
    border-collapse:collapse;
    height:38%;
}
#summonerTeamsDetails
{
    padding:0;
    margin:0;
    border-spacing:0;
}
#summonerTeamDetailsInterior
{
    padding:0;
    margin:0;
    border-spacing:0;
    border-collapse:collapse;

}
#summonerMiddleBar
{
    background-color:#000;
    color:white;
    height:5%;
    width:100%;
}
#gameDetails
{
    background-color:aqua;
    color:white;
    height:5%;
    width:100%;
}
p
{
    font-size:1.5vw;
    margin:0;
    padding:0;
    text-align:center;
}
body
{
    padding:0;
    margin:0;
}
#summonerImg
{
    max-width:100%;
    width:100%;
    background-size:cover;
    /*display:block;*/
}
#summonerImg2
{
    max-width:100%;
    width:100%;
    background-size:cover;
    /*display:block;*/
}
table
{
}

其他 CSS 代码:

@charset "utf-8";
/* CSS Document */
.navbar
{
    background-color:#000;
    color:white;
    height:10%;
    width:100%;
}
.footer
{
    background-color:#000;
    color:white;
    height:4%;
    width:100%;
}

最佳答案

基本上发生的事情是,表格单元格的 5% 高度对于包含在其中的文本来说太小了,因此它没有消失,而是忽略了容器的高度。

要解决此问题,您必须使用媒体查询来重新排列表格 - 虽然我建议不要使用表格,因为它会使这更容易一些 - 这样高度的大小就不会创建滚动条。

有关媒体查询的教程,请参见此处:http://www.youtube.com/watch?v=fA1NW-T1QXc

关于html - 表不遵守容器高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26698369/

相关文章:

javascript - 使用 JQuery 实现动画滚动

ios - 根据文本内容的高度设置单元格的高度

height - 如何使 dijit Accordionpane 的高度动态化

javascript - 如何使用纯 JavaScript 通过选中复选框来显示表格?

javascript - 替换同名类的内部 div 中的跨度文本

html - CSS动画-变形问题

javascript - scrolltop() 不适用于 body.height()

javascript - 不显示时如何为div添加时间延迟

javascript - 无法在 <canvas> 中保存图像

jquery - 将 div 的内容居中对齐