1

我目前在 HTML 中设置了一个简单的标题,并且正在使用 CSS 来设置它的样式。我创建了多种样式:“#header”和“#header #right”。当我使用'float:right;' 对于我提到的第二种样式,它将文本几乎完全向下移动到标题下方。

代码:

索引.html:

<html>
<link rel="icon" type="image/png" href="images/favicon.png">
<link href='main.css' type='text/css' rel=Stylesheet>
<head>
<title>FriendSub</title>
</head>
<body>

<div id='header'>
<font size='+3'>FriendSub &nbsp; &nbsp;</font>
<a href='index.php'>Home</a> | 
<a href=''>Subscribers</a> |
<a href=''>Subscriptions</a>
<div id='right'> 
  <p><a href=''>Log in</a> | <a href='register.php'>Register</a></p></div></div>
</body>
</html>

主.css:

@charset "utf-8";
/* CSS Document */

#header {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    background-color: #093;
    border-top-left-radius: 18;
    border-top-right-radius: 18;
    width: 96%;
    height: 58px;
    margin: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 14px;
    padding-right: 14px;
    color: #FFF;    
    font-weight: bold;
    text-shadow: #000 0.1em 0.1em 0.2em;
}

#header a {
    color: #FFF;
    text-decoration: none;
    text-shadow: #000 0.1em 0.1em 0.2em;
}

#header a:hover {
    color: #CCC;
}

#header #right {
    float: right;
    width: 220px;
    background-color: #093;
}

#content {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-color: #CCC;
    width: 1000;
    height: 58px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 14px;
    padding-left: 14px;
    padding-right: 14px;
    padding-bottom: 600;
    font-weight: bold;
    border-bottom-left-radius: 18;
    border-bottom-right-radius: 18;
    line-height: 1%;
}

JSFiddle在这里:http: //jsfiddle.net/aKtep/

4

6 回答 6

1

尝试<div style='clear:both'></div>在关闭后添加一个权利#right,看看会发生什么

于 2012-05-25T18:06:24.983 回答
1

一个快速的解决方案(假设我了解您想要的结果)是重新排列元素,以便您想要浮动到右侧的项目是标题中的第一个。浮动元素会从文档的正常流程中移除,并且通常会被推送到下一行,除非它们有足够的空间。但是,如果浮动元素先出现,则后续元素将围绕它排列。见小提琴

于 2012-05-25T18:10:47.947 回答
0

从 Login/Register 链接周围删除 p 标签,修改 #header #right 以包含 padding-top:10px;当你真的不需要时,你也使用了太多的 div (divitus)

于 2012-05-25T18:06:38.903 回答
0

您需要为容器指定#header可容纳其所有内容的单位宽度。

我在这里所做的只是将#header宽度从更改96%960px

于 2012-05-25T18:08:16.873 回答
0

我想我不是 100% 确定你在问什么,但听起来你的正常标题正在将正确的标题向下推到它下面。据我所知,这可能与您的标题容器的宽度为 96% 有关。然后#right #header 具有像素宽度,原始标题容器可能没有足够的空间容纳那么多像素。尝试将宽度更改#header #right为 %

一个忠告,不要用这么多的ID。您正在创建非常高的特异性,以后可能会让您感到痛苦。

于 2012-05-25T18:08:25.797 回答
0

如前所述,您应该clear: float#right段之后使用。

原因是clear 属性与float 属性直接相关。 它指定一个元素是否应该在浮动元素旁边,或者是否应该在它们下方移动。此属性适用于浮动和非浮动元素。

于 2018-05-18T14:29:38.107 回答