Javascript CSS、HTML、使div文本保持在其div的中间,而不考虑文本 我在网页的中间有一个文本,在代码< div >代码>标签中,实际上它还没有在中间,但是默认情况下我需要中间的标签。有一个按钮,当你点击时,中间的文字会改变。问题是,当我更改文本时,它不再居中。我想要的是,无论文本内容如何,文本都应该始终位于中心
Javascript CSS、HTML、使div文本保持在其div的中间,而不考虑文本 我在网页的中间有一个文本,在代码< div >代码>标签中,实际上它还没有在中间,但是默认情况下我需要中间的标签。有一个按钮,当你点击时,中间的文字会改变。问题是,当我更改文本时,它不再居中。我想要的是,无论文本内容如何,文本都应该始终位于中心,javascript,jquery,html,css,Javascript,Jquery,Html,Css,$(“#我的按钮”)。在('click',function()上{ $('#throbber_status_info').html('texxxxxxxxxxxx'); }); #throbber_状态_信息{ 位置:绝对位置; 颜色:黑色; 最高:53%; 左:50%; 保证金:0px自动; } 点击我 Text您需要使用Text align:center属性,它会自动为您执行此操作,请参阅更新的代码段: $(“#我的按钮”)。在('click',function()上{ $('#thro
$(“#我的按钮”)。在('click',function()上{
$('#throbber_status_info').html('texxxxxxxxxxxx');
});代码>
#throbber_状态_信息{
位置:绝对位置;
颜色:黑色;
最高:53%;
左:50%;
保证金:0px自动;
}
点击我
Text
您需要使用Text align:center
属性,它会自动为您执行此操作,请参阅更新的代码段:
$(“#我的按钮”)。在('click',function()上{
$('#throbber_status_info').html('texxxxxxxxxxxx');
});代码>
#throbber_状态_信息{
位置:绝对位置;
颜色:黑色;
最高:53%;
宽度:100%;
文本对齐:居中;
}
点击我
Text
您需要使用Text align:center
属性,它会自动为您执行此操作,请参阅更新的代码段:
$(“#我的按钮”)。在('click',function()上{
$('#throbber_status_info').html('texxxxxxxxxxxx');
});代码>
#throbber_状态_信息{
位置:绝对位置;
颜色:黑色;
最高:53%;
宽度:100%;
文本对齐:居中;
}
点击我
Text
您可以使用显示:flex代码>
使用Flexbox,您可以轻松将垂直和水平居中。但是你需要CSS代码的高度,否则它就不能工作
在这里,您可以了解有关flexbox的更多信息:
您可以使用显示:flex代码>
使用Flexbox,您可以轻松将垂直和水平居中。但是你需要CSS代码的高度,否则它就不能工作
在这里,您可以了解有关flexbox的更多信息:
我不希望绝对定位div
,但如果需要,请尝试以下方法:
#throbber_status_info {
color: black;
position: absolute;
left: 50%;
transform: translateX(-50%);
background-color: #dadada;
margin: 0px auto;
top: 53%;
text-align: center;
}
下面是一个示例,可以看到它的实际应用。我不希望将div设置为绝对位置,但如果需要,请尝试以下方法:
#throbber_status_info {
color: black;
position: absolute;
left: 50%;
transform: translateX(-50%);
background-color: #dadada;
margin: 0px auto;
top: 53%;
text-align: center;
}
下面是一个示例,您可以查看它的运行情况。如果要使用jQuery动态更改left
属性,可以编写以下代码:
$("#myButton").on('click', function() {
$('#throbber_status_info').html('TEXXXXXXXXXXXXXT').css('left', function() {
var tw = $(this).width();
var w = $(this.parentNode).width();
return (50 - (tw / 2 / w * 100)) + '%';
});
});
当然,这不是您拥有的唯一选项,而且这种方法没有响应性,即left
属性应该在调整大小事件时更新
如果要使用jQuery动态更改left
属性,可以编写以下代码:
$("#myButton").on('click', function() {
$('#throbber_status_info').html('TEXXXXXXXXXXXXXT').css('left', function() {
var tw = $(this).width();
var w = $(this.parentNode).width();
return (50 - (tw / 2 / w * 100)) + '%';
});
});
当然,这不是您拥有的唯一选项,而且这种方法没有响应性,即left
属性应该在调整大小事件时更新
使用Jquery,您可以创建一个函数来将文本居中
$("#myButton").on('click',function(){
$('#throbber_status_info').html('TEXXXXXXXXXXXXXT');
centerMe('#throbber_status_info');
});
function centerMe(JQ_Selector){
var medItemWidth = $(JQ_Selector).width()/2;
var medWindWidth = $(window).width()/2;
$(JQ_Selector).css('left', (medWindWidth - medItemWidth) + 'px');
}
请看这里的JSFiddle 使用Jquery可以创建一个函数来居中文本
$("#myButton").on('click',function(){
$('#throbber_status_info').html('TEXXXXXXXXXXXXXT');
centerMe('#throbber_status_info');
});
function centerMe(JQ_Selector){
var medItemWidth = $(JQ_Selector).width()/2;
var medWindWidth = $(window).width()/2;
$(JQ_Selector).css('left', (medWindWidth - medItemWidth) + 'px');
}
请看这里的JSFiddle 其目的是使文本也垂直居中。@KCarnaille您可以使用垂直对齐:中间然后,它将执行trickIt仅适用于表格布局或显示:内联块特性。这里的目的是水平/垂直居中绝对div!谢谢,但我需要保留“top:53%”属性here@Reymark我更新了代码以保留您的要求:)目的是使文本也垂直居中。@KCarnaille您可以使用垂直对齐:中间然后,它将执行trickIt仅适用于表格布局或显示:内联块特性。这里的目的是水平/垂直居中绝对div!谢谢,但我需要保留“top:53%”属性here@Reymark我更新了代码以保留您的要求:)您真的需要绝对定位吗?是的,我绝对需要它positioned@Reymark请务必查看链接副本-已接受的答案概述了将绝对定位的可变宽度元素居中所需的确切CSS样式。明白@Serlite,我将在下次检查。谢谢你你真的需要绝对定位吗?是的,我绝对需要positioned@Reymark请务必查看链接副本-已接受的答案概述了将绝对定位的可变宽度元素居中所需的确切CSS样式。明白@Serlite,我将在下次检查。谢谢谢谢这一点,:),这是一个很好的帮助谢谢这一点,:),这是一个很好的帮助你永远不应该使用JavaScript来集中元素。它的工作速度会明显减慢。更重要的是,每次窗口大小改变时,您都需要重新计算适当的位置!永远不要使用JavaScript将元素居中。它的工作速度会明显减慢。更重要的是,每次窗口大小改变时,您都需要重新计算适当的位置!谢谢,这是我要找的:)谢谢,这是我要找的:)