Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS定位,无需使用浮动或边距调整_Css - Fatal编程技术网

CSS定位,无需使用浮动或边距调整

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">

如何在不使用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">

        <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>