gpt4 book ai didi

javascript - 如何将文本对齐到标签的底部?

转载 作者:行者123 更新时间:2023-11-28 04:28:36 25 4
gpt4 key购买 nike

我在开发的元素中遇到了视觉方面的问题

问题与标签中的文本对齐有关。我无法将文本与标签底部对齐。如果你运行代码片段,你可以检查我的问题。

片段:

jQuery(function() {
Date.prototype.addDays = function(days) {
var dat = new Date(this.valueOf());
dat.setDate(dat.getDate() + days);
return dat;
}
Date.prototype.yyyymmdd = function() {
var mm = this.getMonth() + 1; // getMonth() is zero-based
var dd = this.getDate();

return [this.getFullYear() + "-",
(mm>9 ? '' : '0') + mm + "-",
(dd>9 ? '' : '0') + dd
].join('');
};

var date0 = new Date();
date0 = date0.yyyymmdd();
var date1 = new Date();
date1 = date1.addDays(1);
date1 = date1.yyyymmdd();
jQuery("#datepiker_0").datepicker({
dateFormat: 'yy-mm-dd'
}).datepicker('setDate', date0)
jQuery("#datepiker_1").datepicker({
dateFormat: 'yy-mm-dd'
}).datepicker('setDate', date1)

jQuery("#datepiker_1").focusout(function(){

});

jQuery("#num_quartos").focusout(function(){
var numero_quartos_selec = jQuery( "#num_quartos" ).val();
var num_quartos_actuais = jQuery(".class_quartos").length;
if( num_quartos_actuais > numero_quartos_selec){
var id_div_del = "";
var id_label_del = "";
var id_br_del = "";
for (var i = num_quartos_actuais; i > numero_quartos_selec; i--){
id_label_del = "#label_quarto_"+i;
id_div_del = "#quarto_"+i;
id_br_del = "#id_br"+i;
jQuery( id_label_del ).remove();
jQuery( id_div_del ).remove();
jQuery( id_br_del ).remove();
}
}
if(num_quartos_actuais < numero_quartos_selec){
var id_div = "";
var id_label = "";
var div_id_label = "";
var id_br = "";
var name_br = "";
var name_div = "";
var name_label_div = "";
var class_div = "class_quartos";
var j = num_quartos_actuais;
var label = "";
var div = "";
var br = "";
var input_1 = "";
var input_2 = "";
var input_3 = "";
var label_1 = "";
var label_2 = "";
var label_3 = "";
var id_input_1 = "";
var name_input_1 = "";
var id_input_2 = "";
var name_input_2 = "";
var id_input_3 = "";
var name_input_3 = "";
var div_center = "";
var div_left = "";
var div_right = "";
var div_id_center = "";
var div_id_left = "";
var div_id_right = "";
var div_center_label = "";
var div_center_label_id = "";
for(var i = num_quartos_actuais; i < numero_quartos_selec; i++){
j++;
id_div = "quarto_"+j;
name_label_div = "Quarto "+j;
name_div = "quarto_"+j;
name_br = "name_br_"+j;
id_br = "id_br"+j;
div_id_label = "label_quarto_"+j;
div_center_label_id = "id_label_center_"+j;

div_center_label_id = jQuery('<div>').attr({id: div_center_label_id, class: "div_center"});

label = jQuery("<label>").attr( 'for', name_div).text(name_label_div);
label = label.attr({id: div_id_label});

label.appendTo(div_center_label_id);

div = jQuery('<div>').attr({id: id_div, name: name_div, class: class_div});
br = jQuery('<br>').attr({id: id_br, name: name_br});
div.appendTo(label);

div_id_center = "div_center"+j;
div_id_left = "div_left"+j;
div_id_right = "div_right"+j;

div_center = jQuery('<div>').attr({id: div_id_center, class: "div_center"});

div_left = jQuery('<div>').attr({id: div_id_left, class: "div_left"});

div_right = jQuery('<div>').attr({id: div_id_right, class: "div_left"});

label_1 = jQuery("<label>").attr( 'for', name_input_1).text("Adultos");
id_input_1 = "num_adultos_"+j;
name_input_1 = "num_adultos_"+j;
input_1 = jQuery('<input>').attr({id: id_input_1, name: name_input_1, value: "2"});
input_1.appendTo(label_1);
label_1.appendTo(div_left);
input_1.appendTo(div_left);
div_left.appendTo(div);

label_2 = jQuery("<label>").attr( 'for', name_input_2).text("Crianças (3-12 anos)");
id_input_2 = "num_criancas_"+j;
name_input_2 = "num_criancas_"+j;
input_2 = jQuery('<input>').attr({id: id_input_2, name: name_input_2, value: "0"});
input_2.appendTo(label_2);
label_2.appendTo(div_right);
input_2.appendTo(div_right);
div_right.appendTo(div);

label_3 = jQuery("<label>").attr( 'for', name_input_3).text("Bebés (0-2 anos)");
id_input_3 = "num_bebes_"+j;
name_input_3 = "num_bebes_"+j;
input_3 = jQuery('<input>').attr({id: id_input_3, name: name_input_3, value: "0"});
input_3.appendTo(label_3);
label_3.appendTo(div_center);
input_3.appendTo(div_center);
div_center.appendTo(div);
jQuery('#num_ocupantes').append(br);
jQuery('#num_ocupantes').append(div_center_label_id);
jQuery('#num_ocupantes').append(div);
}
}
});

});
label{
display: block;
width: 75px;
height: 40px;
text-align: center;
}
input{
display: block;
width: 75px;
height: 20px;
text-align: right;
}
.div_center{
display: inline-block;
float:center;
width:100px;
}
.div_left{
float:left;
width:100px;
}
.div_right{
float:right;
width:100px;
}
.conteiner{
text-align:center;
width:100%px;
}
.class_quartos{
text-align:center;
width:100%px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Datepicker - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class = "conteiner">
<div class = "div_left">
<label for ="datepiker_0">Chegada</label>
<input type ="text" id = "datepiker_0" name = "datepiker_0" value = "" class = "datepicker">
</div>
<div class = "div_center">
<label for ="datepiker_1">Saída</label>
<input type ="text" id = "datepiker_1" name = "datepiker_1" value = "" class = "datepicker">
</div>
<div class = "div_right">
<label for = "num_quartos">Quartos</label>
<input type = "text" id = "num_quartos" name = "num_quartos" value = "1">
</div>
</div>
<br> </br>
<div id = "num_ocupantes" class= "conteiner">
<div class = "div_center">
<label id = "label_quarto_1" for = "quarto_1">Quarto 1</label>
</div>
<div id = "quarto_1" class = "class_quartos">
<div class = "div_left">
<label for = "num_Adultos_1">Adultos</label>

<input type ="text" id = "num_adultos_1" name = "num_adultos_1" value = "2" class = "num">
</div>
<div class = "div_center">
<label for = "num_criancas_1">Crianças (3-12 anos)</label>
<input type ="text" id = "num_criancas_1" name = "num_criancas_1" value = "0" class = "num">
</div>
<div class = "div_right">
<label for = "num_bebes_1">Bebés (0-2 anos)</label>

<input type ="text" id = "num_bebes_1" name = "num_bebes_1" value = "0" class = "num">
</div>
</div>
</div>

如果您运行该代码段,请检查标签文本(Chegada、Saída、Quartos、Adultos)是否与其他文本相关。

有什么办法可以通过css解决这个问题吗?

最佳答案

您可以使用下面给定的 CSS 将文本对齐到标签的底部

display: table-cell;
vertical-align: bottom;

只需将您的 CSS 替换为 label,如下所示

label{
/*display: block;*/
display: table-cell;
vertical-align: bottom;
width: 75px;
height: 40px;
text-align: center;
}

请看下面的片段

jQuery(function() {
Date.prototype.addDays = function(days) {
var dat = new Date(this.valueOf());
dat.setDate(dat.getDate() + days);
return dat;
}
Date.prototype.yyyymmdd = function() {
var mm = this.getMonth() + 1; // getMonth() is zero-based
var dd = this.getDate();

return [this.getFullYear() + "-",
(mm>9 ? '' : '0') + mm + "-",
(dd>9 ? '' : '0') + dd
].join('');
};

var date0 = new Date();
date0 = date0.yyyymmdd();
var date1 = new Date();
date1 = date1.addDays(1);
date1 = date1.yyyymmdd();
jQuery("#datepiker_0").datepicker({
dateFormat: 'yy-mm-dd'
}).datepicker('setDate', date0)
jQuery("#datepiker_1").datepicker({
dateFormat: 'yy-mm-dd'
}).datepicker('setDate', date1)

jQuery("#datepiker_1").focusout(function(){

});

jQuery("#num_quartos").focusout(function(){
var numero_quartos_selec = jQuery( "#num_quartos" ).val();
var num_quartos_actuais = jQuery(".class_quartos").length;
if( num_quartos_actuais > numero_quartos_selec){
var id_div_del = "";
var id_label_del = "";
var id_br_del = "";
for (var i = num_quartos_actuais; i > numero_quartos_selec; i--){
id_label_del = "#label_quarto_"+i;
id_div_del = "#quarto_"+i;
id_br_del = "#id_br"+i;
jQuery( id_label_del ).remove();
jQuery( id_div_del ).remove();
jQuery( id_br_del ).remove();
}
}
if(num_quartos_actuais < numero_quartos_selec){
var id_div = "";
var id_label = "";
var div_id_label = "";
var id_br = "";
var name_br = "";
var name_div = "";
var name_label_div = "";
var class_div = "class_quartos";
var j = num_quartos_actuais;
var label = "";
var div = "";
var br = "";
var input_1 = "";
var input_2 = "";
var input_3 = "";
var label_1 = "";
var label_2 = "";
var label_3 = "";
var id_input_1 = "";
var name_input_1 = "";
var id_input_2 = "";
var name_input_2 = "";
var id_input_3 = "";
var name_input_3 = "";
var div_center = "";
var div_left = "";
var div_right = "";
var div_id_center = "";
var div_id_left = "";
var div_id_right = "";
var div_center_label = "";
var div_center_label_id = "";
for(var i = num_quartos_actuais; i < numero_quartos_selec; i++){
j++;
id_div = "quarto_"+j;
name_label_div = "Quarto "+j;
name_div = "quarto_"+j;
name_br = "name_br_"+j;
id_br = "id_br"+j;
div_id_label = "label_quarto_"+j;
div_center_label_id = "id_label_center_"+j;

div_center_label_id = jQuery('<div>').attr({id: div_center_label_id, class: "div_center"});

label = jQuery("<label>").attr( 'for', name_div).text(name_label_div);
label = label.attr({id: div_id_label});

label.appendTo(div_center_label_id);

div = jQuery('<div>').attr({id: id_div, name: name_div, class: class_div});
br = jQuery('<br>').attr({id: id_br, name: name_br});
div.appendTo(label);

div_id_center = "div_center"+j;
div_id_left = "div_left"+j;
div_id_right = "div_right"+j;

div_center = jQuery('<div>').attr({id: div_id_center, class: "div_center"});

div_left = jQuery('<div>').attr({id: div_id_left, class: "div_left"});

div_right = jQuery('<div>').attr({id: div_id_right, class: "div_left"});

label_1 = jQuery("<label>").attr( 'for', name_input_1).text("Adultos");
id_input_1 = "num_adultos_"+j;
name_input_1 = "num_adultos_"+j;
input_1 = jQuery('<input>').attr({id: id_input_1, name: name_input_1, value: "2"});
input_1.appendTo(label_1);
label_1.appendTo(div_left);
input_1.appendTo(div_left);
div_left.appendTo(div);

label_2 = jQuery("<label>").attr( 'for', name_input_2).text("Crianças (3-12 anos)");
id_input_2 = "num_criancas_"+j;
name_input_2 = "num_criancas_"+j;
input_2 = jQuery('<input>').attr({id: id_input_2, name: name_input_2, value: "0"});
input_2.appendTo(label_2);
label_2.appendTo(div_right);
input_2.appendTo(div_right);
div_right.appendTo(div);

label_3 = jQuery("<label>").attr( 'for', name_input_3).text("Bebés (0-2 anos)");
id_input_3 = "num_bebes_"+j;
name_input_3 = "num_bebes_"+j;
input_3 = jQuery('<input>').attr({id: id_input_3, name: name_input_3, value: "0"});
input_3.appendTo(label_3);
label_3.appendTo(div_center);
input_3.appendTo(div_center);
div_center.appendTo(div);
jQuery('#num_ocupantes').append(br);
jQuery('#num_ocupantes').append(div_center_label_id);
jQuery('#num_ocupantes').append(div);
}
}
});

});
label{
/*display: block;*/
display: table-cell;
vertical-align: bottom;
width: 75px;
height: 40px;
text-align: center;
}
input{
display: block;
width: 75px;
height: 20px;
text-align: right;
}
.div_center{
display: inline-block;
float:center;
width:100px;
}
.div_left{
float:left;
width:100px;
}
.div_right{
float:right;
width:100px;
}
.conteiner{
text-align:center;
width:100%px;
}
.class_quartos{
text-align:center;
width:100%px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Datepicker - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class = "conteiner">
<div class = "div_left">
<label for ="datepiker_0">Chegada</label>
<input type ="text" id = "datepiker_0" name = "datepiker_0" value = "" class = "datepicker">
</div>
<div class = "div_center">
<label for ="datepiker_1">Saída</label>
<input type ="text" id = "datepiker_1" name = "datepiker_1" value = "" class = "datepicker">
</div>
<div class = "div_right">
<label for = "num_quartos">Quartos</label>
<input type = "text" id = "num_quartos" name = "num_quartos" value = "1">
</div>
</div>
<br> </br>
<div id = "num_ocupantes" class= "conteiner">
<div class = "div_center">
<label id = "label_quarto_1" for = "quarto_1">Quarto 1</label>
</div>
<div id = "quarto_1" class = "class_quartos">
<div class = "div_left">
<label for = "num_Adultos_1">Adultos</label>

<input type ="text" id = "num_adultos_1" name = "num_adultos_1" value = "2" class = "num">
</div>
<div class = "div_center">
<label for = "num_criancas_1">Crianças (3-12 anos)</label>
<input type ="text" id = "num_criancas_1" name = "num_criancas_1" value = "0" class = "num">
</div>
<div class = "div_right">
<label for = "num_bebes_1">Bebés (0-2 anos)</label>

<input type ="text" id = "num_bebes_1" name = "num_bebes_1" value = "0" class = "num">
</div>
</div>
</div>

关于javascript - 如何将文本对齐到标签的底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com