html - 先前的 DIV 关系

标签 html css

我是编码和 CSS 领域的新手,对每个 div 标签与其前身或父标签之间的关系感到困惑。例如,我的代码如下。如果这应该有所作为,则整个代码的副本位于该问题的底部。

现在,如果我要放大只看容器 <div id="content"> , 假设并说它的 child 是安全的 <div id="innercontent">仅受 <div id="content"> 影响.同样的原则适用于 <div id="content"><div id="header"> 影响.因此,我的 CSS 框模型方法会受到前面每个 div 的影响。元素。对吗?

<body>
    <div id="wrapper">
        <div id="innerwrapper">

            <div id="header">
                <div id="logo"><img src="images/logo.gif" width="150" height="96" alt="logo" /></div>

                <div id="topnav">
                    <ul>
                        <li>home</li>
                        <li>about</li>
                        <li>browse</li>
                        <li>faq</li>
                        <li>contact</li>
                    </ul>
                </div>
            </div>

            <div id="content">
                <div id="innercontent">
                    Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit.

                    Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus.
                </div>
            </div>

            <div id="rightcol"><img src="http://htmldog.com/r/logo.gif" width="140" height="91" alt="html" /></div>
        </div>

        <div id="footer">footer</div>
    <div>
</body>

完整代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Language" content="en-us" />

    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <meta name="author" content="" />

    <title>Example</title>

    <base href="" />

    <link rel="icon" type="image/png" href="" />

    <link rel="stylesheet" type="text/css" href="" />

    <style type="text/css" media="all">

    * {

        margin: 0;
        padding: 0;

    }


    body {

        font-family: arial, verdana, sans-serif;
        font-size: 0.8em;

    }


    #wrapper {

        /* background-image: url('images/bg-inner-page.gif'); */
        background-color: #808080;
        height: 200px;

    }

    #innerwrapper {

        width: 960px;
        overflow: auto;

    }

    #header {



    }

    #logo {

        float: left;
        margin-top: 20px;
        margin-left: 50px;
        background-color: gray;

    }

    #topnav {

        float: left;
        margin-top: 50px;
        margin-left:30px;
        color: #ffffff;

    }

    #topnav ul {

        word-spacing: 10px;

    }

    #topnav ul li {

        list-style-type: none;
        display: inline;

    }

    #content {

        clear: both;

    }

    #innercontent {

        float: left;
        margin-top: 100px;
        margin-left: 225px;
        margin-bottom: 20px;
        width: 400px;

    }


    #rightcol {

        float: left;
        margin-top: 125px;
        margin-left: 50px;
        width: 200px;

    }


    #footer {

        background-color: gray;

    }


    </style>

</head>

<body>
    <div id="wrapper">
        <div id="innerwrapper">

            <div id="header">
                <div id="logo"><img src="images/logo.gif" width="150" height="96" alt="logo" /></div>

                <div id="topnav">
                    <ul>
                        <li>home</li>
                        <li>about</li>
                        <li>browse</li>
                        <li>faq</li>
                        <li>contact</li>
                    </ul>
                </div>
            </div>

            <div id="content">
                <div id="innercontent">
                    Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit.

                    Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus.
                </div>
            </div>

            <div id="rightcol"><img src="http://htmldog.com/r/logo.gif" width="140" height="91" alt="html" /></div>
        </div>

        <div id="footer">footer</div>
    <div>
</body>
</html>

最佳答案

HTML 被构造成所谓的文档对象模型 http://en.wikipedia.org/wiki/Document_Object_Model .

子 div 仅受其父元素(或更上层的任何祖父元素)的影响。但是,当您开始 float 元素时,如您的示例所示,您可能会发现容器外的元素开始干扰。

在屏幕上,这可能会导致困惑,因为元素相互插入以对齐,但是,DOM 将始终保持结构化,独立于任何 css。

关于html - 先前的 DIV 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6116452/

相关文章:

javascript - 如何在悬停在菜单上时替换图像

css - 当我将它转换到我的 CMS 时,为什么 CSS 排序(使用复选框 hack)不起作用?

javascript - 减少滚动页面延迟

javascript - 动画滚动到 anchor 仅适用于第一个链接

jquery - 需要 jQuery 自动功能

javascript - 使用光标悬停时如何在 CSS 三 Angular 形上保持适当的边界?

css - 针对 Windows 7 的条件 CSS

javascript - 如何将幻灯片放映图像对齐到 div 标签内的中心

javascript - Jquery:如何捕获不在<div>区域内的点击事件?

html - Angular 2复选框双向数据绑定(bind)