Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 垂直对齐属性对齐元素_Html_Css - Fatal编程技术网

Html 垂直对齐属性对齐元素

Html 垂直对齐属性对齐元素,html,css,Html,Css,规范提到“垂直显示”特性(仅适用于内联和内联块元素)对齐元素本身,但不对齐其内容。跨度,据我所知,它是元素。在这个提琴中,一切都按预期进行,但为了使实际文本“Beta”在跨度中居中,还需要做些什么 .b{ 显示:内联块; 背景色:红色; 高度:120px; 垂直对齐:中间对齐; } 贝塔 注:我不是在寻找一个快速的解决方案,我知道我可以使用线高度、显示表或其他一些东西。我更感兴趣的是弄清楚为什么它不起作用,或者更确切地说,为什么它针对的是跨度元素而不是内部文本,以及我需要什么来针对内部文本。

规范提到“垂直显示”特性(仅适用于内联和内联块元素)对齐元素本身,但不对齐其内容。跨度,据我所知,它是元素。在这个提琴中,一切都按预期进行,但为了使实际文本“Beta”在跨度中居中,还需要做些什么

.b{
显示:内联块;
背景色:红色;
高度:120px;
垂直对齐:中间对齐;
}
贝塔
注:我不是在寻找一个快速的解决方案,我知道我可以使用线高度、显示表或其他一些东西。我更感兴趣的是弄清楚为什么它不起作用,或者更确切地说,为什么它针对的是跨度元素而不是内部文本,以及我需要什么来针对内部文本。

以下是我的方法:

.b{
背景色:红色;
高度:120px;
显示:内联flex;
对齐项目:居中;
}
身体{
高度:300px;
}
}

阿尔法贝塔加马
以下是我的方法:

.b{
背景色:红色;
高度:120px;
显示:内联flex;
对齐项目:居中;
}
身体{
高度:300px;
}
}

阿尔法贝塔加马

所以,您有一个简单的解决方案:

变体1添加行高

.b{
  background-color:red;
  display: inline-block;
  height:120px;
  line-height: 7.5em;
}
试试这里:

变型2居中放置表格

.b, span {
  display: table-cell;
  vertical-align:middle;
}
.b {
  background-color:red;
  height:120px;
  }

body{
  display: table;
  height:300px;
  }
}

请尝试此处

这样,您就有了一些解决方案:

变体1添加行高

.b{
  background-color:red;
  display: inline-block;
  height:120px;
  line-height: 7.5em;
}
试试这里:

变型2居中放置表格

.b, span {
  display: table-cell;
  vertical-align:middle;
}
.b {
  background-color:red;
  height:120px;
  }

body{
  display: table;
  height:300px;
  }
}

试试这里

快速解决方案是
行高:120px
垂直对齐:中间对齐不处理
显示:内联块
最佳解决方案在注释上方。垂直对齐属性也适用于显示:表格单元格。。顺便说一句,该属性与元素的同级相关。如果你想点燃文本,那么为什么你不对齐跨度而不是文本呢?谢谢大家,但我忘了提到我不是在寻找解决方法,而是解释为什么它在这种情况下不起作用。快速解决方案是
行高:120px
垂直对齐:中间对齐不处理
显示:内联块
最佳解决方案在注释上方。垂直对齐属性也适用于显示:表格单元格。。顺便说一句,该属性与元素的同级相关。如果你想点燃文本,那么为什么不对齐跨度而不是文本呢?谢谢大家,但我忘了提到我不是在寻找解决方法,而是在解释为什么它在这种情况下不起作用。flex是css3属性,因此它可能在旧浏览器上存在兼容性问题。flex是css3属性。,因此,它在旧浏览器上可能存在兼容性问题Variant 1似乎有效,但如果包含元素的高度不是静态的,而是一个百分比,它会这样做吗?线条高度不使用百分比,对吗?(即使是这样,我也会假设它会像百分比一样多次引用宽度)是的,线条高度不使用百分比。中心线高度仅适用于静态块,也仅适用于一条线。也许,你想说的是灵活的高度,而不是百分比。对于灵活的高度,变型2必须非常有效。即使有多行。变量1似乎也能工作,但如果包含元素的高度不是静态的,而是一个百分比,它会工作吗?线条高度不使用百分比,对吗?(即使是这样,我也会假设它会像百分比一样多次引用宽度)是的,线条高度不使用百分比。中心线高度仅适用于静态块,也仅适用于一条线。也许,你想说的是灵活的高度,而不是百分比。对于灵活的高度,变型2必须非常有效。即使有多行。