CSS定位,无需使用浮动或边距调整
如何在不使用float的情况下将UL元素移动到浏览器的右侧,或者通过使用margin px/%等工具“猜测”元素是否与右边距齐平CSS定位,无需使用浮动或边距调整,css,Css,如何在不使用float的情况下将UL元素移动到浏览器的右侧,或者通过使用margin px/%等工具“猜测”元素是否与右边距齐平 .nav li { display: inline; } .nav h1 { background-color: red; display: inline-block; } .nav ul { display: inline-block; border: 1px solid black; } <div class="nav">
.nav li {
display: inline;
}
.nav h1 {
background-color: red;
display: inline-block;
}
.nav ul {
display: inline-block;
border: 1px solid black;
}
<div class="nav">
<h1>Resume</h1>
<ul>
<li>Home</li>
<li>Portfolio</li>
<li>Skills</li>
<li>Experience</li>
<li>Contact</li>
</ul>
</div>
.nav li{
显示:内联;
}
.导航h1{
背景色:红色;
显示:内联块;
}
美国海军{
显示:内联块;
边框:1px纯黑;
}
简历
- 家
- 投资组合
- 技巧
- 经历
- 接触
根据需要支持的浏览器,您可以使用flexbox
具体来说,您需要一个带有display:flex代码>和对正内容:之间的空格代码>
比如:
<div class="nav" style="display: inline-flex; justify-content: space-between;">
... child items here ...
</div>
使用位置:
.nav li {
display: inline;
}
.nav h1 {
background-color: red;
display: inline-block;
}
.nav ul {
display: inline-block;
border: 1px solid black;
position: absolute;
right: 0;
}
我从你在原始帖子上的评论中看到,你正在避免浮动,因为你的元素排列不正确
.nav li {
display: inline;
}
.nav h1 {
background-color: red;
display: inline-block;
float: left;
}
.nav ul {
display: inline-block;
border: 1px solid black;
float: right;
}
当您将顶部边距设置为零时,将完全对齐。您的元素具有不同的高度,因此需要使用边距/填充将其对齐。更改以下css属性
.nav li {
display: inline;
}
.nav h1 {
background-color: red;
display: inline-block;
}
.nav ul {
display: inline-block;
float:none;
right:0;
margin-right:10px; // its just an example you can move as much as you want
border: 1px solid black;
}
继续
- 家
- 投资组合
- 技巧
- 经历
- 接触
尝试位置:绝对;,右:0px 嗨,鲁迪,当我使用float时,它将UL元素移动到与H1元素不一致的位置,看起来很混乱,有没有办法解决这个问题?是的,要么将UL移动到H1之前,要么使H1浮动:左,这样它们都浮动。在后一种情况下,您需要清除:在元素之后都是。谢谢Rof,但是这会对齐每个元素的顶部,而且看起来仍然很凌乱,请看这里我希望UL与H1元素的中间对齐?此外,下面的元素会向上移动到空白处!这是因为.slider div未设置为display:inline块代码>。你可以这样做:但是你必须调整字体大小和填充,以使其与你想要的对齐。或者你也可以将清除:两者都添加到。滑动条,这将禁止其左侧或右侧的任何浮动元素,并防止in潜入上面折叠容器的空白处(仅包含浮点数)。再次编辑,以更好地匹配示例代码,因为您希望对齐内容:空格,而不是对齐内容:flex end。您还希望使用内联flex,而不仅仅是flex。最后一次使用CSS进行编辑,在复制和粘贴时应能正常工作。谢谢Jim,最后一个解决方案是一个干净、简单的解决方案。谢谢。不过,有一件事,然后如何使H1和UL元素水平居中对齐?一种方法是为nav div设置宽度,然后设置边距:0 auto;。宽度必须小于页面宽度(换句话说,不是100%)。
.nav li {
display: inline;
}
.nav h1 {
background-color: red;
display: inline-block;
}
.nav ul {
display: inline-block;
float:none;
right:0;
margin-right:10px; // its just an example you can move as much as you want
border: 1px solid black;
}
<h1>Resume</h1>
<ul>
<li>Home</li>
<li>Portfolio</li>
<li>Skills</li>
<li>Experience</li>
<li>Contact</li>
</ul>