好的,嗨,我觉得这是一个非常愚蠢的问题,我发现了很多像这样的问题,但没有一个答案似乎对我有用。
我的问题是有一个div(任务栏),里面有另一个div(任务栏 - 栏),我希望任务栏保持在任务栏内。我尝试将位置置于绝对和相对位置,它似乎根本不起作用,它始终位于任务栏div下面。我可以用顶部推高它,但我觉得这不是现在的方式。但我不知道,老实说,我对CSS和HTML很新,还在学习。
这是我的代码的一个方面:https://jsfiddle.net/5zghzczs/3/
.taskbar {
width: 100%;
height: 40px;
box-shadow: 0px 1px 0px 0px #C2C5CA inset, 0px 2px 0px 0px #FFF inset;
background-color: #C2C5CA;
position: absolute;
left: 0;
bottom: 0;
}
#taskbar-start {
margin-top: 4px;
margin-bottom: 2px;
margin-left: 2px;
width: 90px;
height: 33px;
background-color: #C2C5CA;
cursor: pointer;
}
.taskbar-start-inactive {
box-shadow: -1px -1px 0px 0px #000 inset, 1px 1px 0px 0px #FFF inset, -2px -2px 0px 0px #868A8E inset;
}
.taskbar-start-active {
box-shadow: -1px -1px 0px 0px #FFF inset, 1px 1px 0px 0px #000 inset, 2px 2px 0px 0px #868A8E inset;
}
.taskbar-start-frame-active {
margin-top: 2px;
margin-left: 2px;
width: 84px;
height: 27px;
border-style: dotted;
border-width: 1px;
position: absolute;
}
.taskbar-start-logo {
margin-top: 6px;
margin-left: 3px;
width: auto;
height: 20px;
-webkit-user-select: none;
}
.taskbar-start-text {
margin-top: 10px;
margin-left: 5px;
display: inline;
font-size: 12px;
letter-spacing: -2px;
-webkit-user-select: none;
font-family: "Press Start 2P";
position: absolute;
}
.taskbar-bar {
height: 35px;
width: 2px;
background: green;
margin-left: 100px;
}
<div class="taskbar">
<div id="taskbar-start" class="taskbar-start-inactive">
<div id="taskbar-start-frame">
<img class="taskbar-start-logo" src="img/logo.png" />
<div class="taskbar-start-text">Start</div>
</div>
</div>
<div class="taskbar-bar"></div>
答案 0 :(得分:1)
我认为最好的方法是让父级成为Flexbox容器。 这将把所有孩子排成一排。
display: flex;
请参阅https://jsfiddle.net/5zghzczs/7/
在此处阅读有关flexbox的更多信息:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
答案 1 :(得分:1)
你的问题是你正在使用margin-left,它试图在一个div和另一个div之间给出一个余量。 Here是一个新的JSFiddle,我将位置设置为absolute
,将margin-left
更改为left
,并添加top: 0px;
以将其设置为顶部(覆盖另一个div)。
.taskbar-bar {
position: absolute;
top: 4px;
left: 100px;
height: 35px;
width: 2px;
background: green;
}
答案 2 :(得分:0)
更改&#34;显示&#34; taskbar-start
和taskbar-bar
至&#34;内联块&#34;
.taskbar-start, .taskbar-start {
display: inline-block;
}