Html 如何在div中居中放置按钮?
我有一个div的宽度是100% 我想把一个按钮放在它的中心,我该怎么做Html 如何在div中居中放置按钮?,html,css,centering,Html,Css,Centering,我有一个div的宽度是100% 我想把一个按钮放在它的中心,我该怎么做 你好 更新答案 更新,因为我注意到这是一个积极的答案,但Flexbox现在将是正确的方法 垂直和水平对齐 #wrapper { display: flex; align-items: center; justify-content: center; } 仅水平(只要主柔性轴是水平的,这是默认值) 使用固定宽度且无flexbox的原始答案 如果原始海报想要垂直和中心对齐,那么按钮的固定宽度和高度非常容易,请
你好
更新答案
更新,因为我注意到这是一个积极的答案,但Flexbox现在将是正确的方法
垂直和水平对齐
#wrapper {
display: flex;
align-items: center;
justify-content: center;
}
仅水平(只要主柔性轴是水平的,这是默认值)
使用固定宽度且无flexbox的原始答案
如果原始海报想要垂直和中心对齐,那么按钮的固定宽度和高度非常容易,请尝试以下方法
CSS
button{
height:20px;
width:100px;
margin: -20px -50px;
position:relative;
top:50%;
left:50%;
}
对于水平对齐,请使用
button{
margin: 0 auto;
}
或
瞧
button {
width: 100px; // whatever your button's width
margin: 0 auto; // auto left/right margins
display: block;
}
更新:如果OP正在寻找水平和垂直中心,将针对固定的宽度/高度元素进行此操作。根据提供的有限细节,我将假设最简单的情况,并说您可以使用
文本对齐:中心
:
页边距:0自动;仅适用于水平居中。 对于两种方式的居中,使用jquery可以实现类似的功能:
var cenBtn = function() {
var W = $(window).width();
var H = $(window).height();
var BtnW = insert button width;
var BtnH = insert button height;
var LeftOff = (W / 2) - (BtnW / 2);
var TopOff = (H / 2) - (BtnH /2);
$("#buttonID").css({left: LeftOff, top: TopOff});
};
$(window).bind("load, resize", cenBtn);
更新。。。五年后,可以在父DIV元素上使用flexbox轻松地将按钮水平和垂直居中 包括所有浏览器前缀,以获得最佳支持
div {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-align : center;
-moz-box-align : center;
-ms-flex-align : center;
-webkit-align-items : center;
align-items : center ;
justify-content : center;
-webkit-justify-content : center;
-webkit-box-pack : center;
-moz-box-pack : center;
-ms-flex-pack : center;
}
#容器{
位置:相对位置;
利润率:20px;
背景:红色;
高度:300px;
宽度:400px;
}
#货柜组{
显示:-网络工具包盒;
显示器:-moz盒;
显示:-ms flexbox;
显示:-webkit flex;
显示器:flex;
-webkit框对齐:居中;
-moz框对齐:居中;
-ms-flex-align:居中;
-webkit对齐项目:居中;
对齐项目:居中;
证明内容:中心;
-webkit盒包:中心;
-莫兹盒包装:中心;
-ms-flex-pack:center;
-webkit内容:中心;
证明内容:中心;
}
你好
假设div是#div,button是#button:#div {
display: table-cell;
width: 100%;
height: 100%;
text-align: center;
vertical-align: center;
}
#button {}
然后像往常一样将按钮嵌套到div中。遇到了这个问题,我认为我也应该保留我使用的解决方案,它利用
行高度和文本对齐:居中来进行垂直和水平居中:
您只需制作:
最简单的方法是以“div”的形式输入,给它一个“margin:0 auto”,但如果你想让它居中,你需要给它一个宽度
Div{
Margin: 0 auto ;
Width: 100px ;
}
使用flexbox
.Center {
display: flex;
align-items: center;
justify-content: center;
}
然后将类添加到按钮中
<button class="Center">Demo</button>
Demo
要使
在
内垂直和水平居中,其宽度是动态计算的,就像在您的案例中一样,请执行以下操作:
设置文本对齐:居中代码>到包装
:每当您调整
(或者更确切地说是窗口)的大小时,这将使按钮居中
对于垂直对齐,需要设置margin:valuepx代码>用于按钮。这是关于如何计算valuepx
的规则:
valuepx=(wrappingDIVheight-按钮高度)/2
这里有一个响应CSS选项,用于垂直和水平居中按钮,而不考虑父元素的大小(为了清晰和分离,使用数据属性挂钩):
HTML
小提琴:在div中居中调整按钮的响应方式:
<div
style="display: flex;
align-items: center;
justify-content: center;
margin-bottom: 2rem;">
<button type="button" style="height: 10%; width: 20%;">hello</button>
</div>
你好
适用于大多数情况的超级简单答案是只需将边距设置为0自动
,并将显示设置为块
。你可以看到我如何在我的演示集中我的按钮
你应该简单一点,来吧:
首先,您有文本或按钮的初始位置:
<div style="background-color:green; height:200px; width:400px; margin:0 0 0 35%;">
<h2> Simple Text </h2>
<div>
<button> Simple Button </button>
</div>
</div>
简单文本
简单按钮
通过将此css代码行添加到h2标记或保存按钮标记的div标记中
样式:“文本对齐:居中;”
最终结果代码为:
<div style="background-color:green; height:200px; width:400px; margin:0 0 0 35%;">
<h2 style="text-align:center;"> Simple Text </h2> <!-- <<--- here the changes -->
<div style="text-align:center"> <!-- <<--- here the changes -->
<button> Simple Button </button>
</div>
</div>
简单文本
简单按钮
div{
文本对齐:居中;
}
钮扣{
宽度:50%;
保证金:1rem自动;
}
你好
您对按钮使用的代码是什么?我怀疑他想要垂直和水平居中。到目前为止,没有一个解决方案能够做到这一点。CSS不太擅长垂直居中=(.让我说flexbox使得这个答案在2014年毫无用处。是的,宝贝!可能是-1的副本这太糟糕了。基本上,你将宽度设置为100%,然后将边距设置为-50。但是它会导致其他问题,比如按钮高于包含的元素,无法很好地调整大小。嘿,感谢你至少解释了你的向下vote@Imray,也请注意,我说的是固定宽度和高度,而不是可变的。因此,调整大小不是一个因素。“基本上”我将宽度设置为100px,而不是100%,边距设置为-50px,即一半。这是一种非常标准的居中方法。不过,我期待你的回答:)你的welcs(很抱歉这么苛刻,很高兴你有幽默感)我的意思是100px。我不知道你写的是“固定”,但我仍然认为这个答案在大多数情况下都不好。你可能还需要“display:block;@SoluableNonagon就是这样!”display:block用“margin:0 auto”来实现jQuery?说真的吗?@PraneshRavi-2011年CSS中没有很多选项可以垂直居中,所以是的,如果您不知道元素的确切高度和宽度,并且可以减去边距,javascript并不少见。您可以始终使用flex来垂直和水平居中元素。@PraneshRavi-是的,您可以,flexbox是这个问题的一个很好的答案,我要补充一点,但在2011年没有flexbox。@JGallardo-我想你错过了其他答案的部分
[data-container="button"] {
position: absolute;
top: 50%;
text-align: center;
width: 100%;
}
<div
style="display: flex;
align-items: center;
justify-content: center;
margin-bottom: 2rem;">
<button type="button" style="height: 10%; width: 20%;">hello</button>
</div>
<div style="background-color:green; height:200px; width:400px; margin:0 0 0 35%;">
<h2> Simple Text </h2>
<div>
<button> Simple Button </button>
</div>
</div>
<div style="background-color:green; height:200px; width:400px; margin:0 0 0 35%;">
<h2 style="text-align:center;"> Simple Text </h2> <!-- <<--- here the changes -->
<div style="text-align:center"> <!-- <<--- here the changes -->
<button> Simple Button </button>
</div>
</div>