我需要添加什么才能将按钮固定在与标题位于同一行的div的右侧?
HTML:
<div>
<h1> Ok </h1>
<button type='button'>Button</button>
</div>
CSS:
div {
background: purple;
}
div h1 {
text-align: center;
}
div button {
}
更具体地说:
可以使用哪些CSS技术来执行此操作?感谢。
答案 0 :(得分:46)
通常情况下我会建议浮动,但根据你的3个要求,我会建议:
position: absolute;
right: 10px;
top: 5px;
不要忘记父div上的position: relative;
答案 1 :(得分:10)
这取决于你想要达到的目的。
如果你只是想让它在右边,那么我建议不要使用绝对位置,因为它会打开一大堆蠕虫。
HTML也可以保持不变:
<强> HTML 强>
<div>
<h1> Ok </h1>
<button type='button'>Button</button>
</div>
然后CSS应该是:
<强> CSS 强>
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
display: inline-block;
width: 100%;
margin-right: -50%;
}
div button {
float: right;
}
您可以在此处看到它:http://jsfiddle.net/azhH5/
如果您可以更改HTML,那么它会变得更简单:
<强> HTML 强>
<div>
<button type='button'>Button</button>
<h1> Ok </h1>
</div>
<强> CSS 强>
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
}
div button {
float: right;
margin-left: -50%;
}
您可以看到它的实际效果:http://jsfiddle.net/8WA3k/1/
如果你想让按钮与文本在同一行,你可以通过这样做来实现:
<强> HTML 强>
<div>
<button type='button'>Button</button>
<h1> Ok </h1>
</div>
<强> CSS 强>
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
}
div button {
float: right;
margin-left: -50%;
margin-top: 2em;
}
你看到这里的行动:http://jsfiddle.net/EtqVh/1/
在最恐怖的例子中,您必须调整<h1>
的指定字体大小的margin-top
修改强>
正如你所看到的,它不会从<div>
弹出,直到内部。这是通过两件事来实现的:<button>
上的负边距和overflow: hidden;
上的<div>
编辑2:
我刚看到你也希望它离右边的边缘有点远。用这种方法很容易实现。只需将margin-right: 1em;
添加到<button>
,就像这样:
div {
background: purple;
overflow: hidden;
}
div h1 {
text-align: center;
}
div button {
float: right;
margin-left: -50%;
margin-top: 2em;
margin-right: 1em;
}
您可以在此处看到它:http://jsfiddle.net/QkvGb/
答案 2 :(得分:6)
另一种解决方案:改变利润率。根据按钮的兄弟,应修改display
。
button {
display: block;
margin-left: auto;
margin-right: 0;
}
答案 3 :(得分:4)
<div>
<h1> Ok </h1>
<button type='button'>Button</button>
<div style="clear:both;"></div>
</div>
CSS
div {
background: purple;
}
div h1 {
text-align: center;
}
div button {
float: right;
margin-right:10px;
}
答案 4 :(得分:2)
使用位置属性
style="position: absolute;right:0;top:0"
答案 5 :(得分:0)
按如下方式更改CSS:
div button {
position:absolute;
right:10px;
top:25px;
}
答案 6 :(得分:0)
div{
display: flex;
flex-direction: row-reverse;
}