css 浮动元素后的文本未正确填充

h43kikqp  于 2023-07-01  发布在  其他
关注(0)|答案(2)|浏览(88)

我用了一个相同尺寸的填充图像,它没有透明度,否则你会看到菜单。但菜单不是问题文本是。看看这个小提琴`http://jsfiddle.net/WhiteRau/DC78P/',你就会明白我的意思了。
下面是整个代码:

CSS

<style type="text/css">
        nav {
            border: 1px solid blue;
            margin: 4px;
            padding: 10px;
            position: relative;
            float: left;
            width: 200px;
            font-family: "Oswald", sans-serif;
            z-index: 6;
            overflow: hidden;
        }
        nav ul li {
            background: #d5b079;
            font-size: 24px;
            border-radius: 20px;
            margin: 10px 0;
            padding: 4px 20px 6px 20px;
        }
        nav ul li:hover, nav ul li:active {
            background: #434459;
        }
        #holder {
            display: inline-block;
            border: 2px solid white;
        }
        #theBossMan {
            width: 450px;
            float: left;
            position: relative;
            left: -220px;
            top: -120px;
            border: 2px solid green;
            pointer-events: none;
            z-index: 8;
        }
        #content {
            background: #d5b079;
            color: white;
            text-align: justify;
            border: 1px solid red;
            margin: 4px;
            width: 480px;
            padding: 10px 20px;
            position: relative;
            left: 400px;
            z-index: 4;
        }
</style>

HTML

<nav class="group">
    <ul>
        <li><a href="#">HOME</a></li>
        <li><a href="#">CONTACT</a></li>
        <li><a href="#">ABOUT</a></li>
    </ul>
</nav>
<section id="holder">
    <img id="theBossMan" src="http://image0-rubylane.s3.amazonaws.com/shops/colemanscollectibles/03660.1L.jpg" alt="it's a placeholder">
    <section id="content">
        <h1>HELLO</h1>
        <h2>so glad you could come</h2>
        <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempora, ducimus harum molestias quis enim delectus corrupti alias provident adipisci atque dicta quidem reiciendis tenetur perferendis quasi odit minus sed natus. Lorem ipsum dolor sit amet, consectetur adipisicing elit. A, est, vel ducimus perferendis atque praesentium culpa ratione veritatis nam cupiditate unde sequi molestias neque veniam voluptas soluta porro dolorum reprehenderit!</span></p>
    </section>
</section> <!-- end of HOLDER  -->'

这是怎么回事文本应该放在勺子旁边。它不是浮动的,所以一个clearfix没有爱(无论如何尝试了,以防万一…)。方框轮廓仅供参考。我不明白为什么文字在底部...

tkqqtvp1

tkqqtvp11#

你的例子相当令人困惑,因为你对css定位的使用是疯狂的,需要完全重写。但是使用你的例子是因为你的nav元素;查看更新的fiddle:http://jsfiddle.net/bassmanpaul/DC78P/1/
当你将鼠标悬停在导航栏上时(我添加了一些css来“隐藏”它),你会看到你的文本主体跳到了正常的位置,因为<section>标签实际上位于nav元素的下面,所以文本元素实际上是正确放置的。正是你对定位的使用,疯狂地将所有其他元素放置在它们的父容器之外……
不妨试试:
http://learnlayout.com/index.html

z5btuh9x

z5btuh9x2#

这就是你的问题

<section id="holder">
    <img id="theBossMan"

因为img是在它向下推你的文本的部分。如果你删除图像,你会看到文本正确显示。
编辑:
不如这样:

<nav class="group">
    <ul>
        <li><a href="#">HOME</a></li>
        <li><a href="#">CONTACT</a></li>
        <li><a href="#">ABOUT</a></li>
    </ul>
</nav>
<section id="holder">
    <img id="theBossMan" src="http://image0-rubylane.s3.amazonaws.com/shops/colemanscollectibles/03660.1L.jpg" alt="it's a placeholder">
</section>
<section id="content">
    <h1>HELLO</h1>
    <h2>so glad you could come</h2>
    <p><span>Lorem ipsum dolor sit amet</span></p>
</section>

现在它在部分之外,已经工作得更好了。img仍然在那里,只是不在与文本相同的部分。

相关问题