- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
line-height用于设置文本的最小行高,可以简单理解为一行文字所占据的高度。但是行高的严格的定义是:两行文字基线(baseline)之间的距离。
那么什么是基线(baseline)呢?
注意区分height和line-height的区别:
参考官方文档的解释,vertical-align会影响行内级元素在一个**行盒(line boxes)**中垂直方向的位置。简单来说vertical-align可以设置行内级元素在一行上的对齐方式。
通过以下这些问题进一步了解行盒。
首先可以思考一下,一个div在没有设置高度时,会不会有高度?
内容能够撑起来div高度的本质是什么?
这里又会有一个疑问,行高为什么可以撑起div高度?
如果这个div中有图片、文字、inline-block等行内级元素,他们如何进行对齐呢?
行内级元素基线对齐,可能会出现以下这些情况:
(1)情况一:只有文字时。
(2)情况二:既有文字,又有图片。
(3)情况三:既有文字,又有图片,还有inline-block。
(4)情况四:既有文字,又有图片,还有inline-block,并且给inline-block设置底边距。
(5)情况五:既有文字,又有图片,还有inline-block,并且给inline-block内添加文字。
总结:
不同行内级元素的baseline具体都在哪里?
文本的baseline是字母x的底部;
inline-block默认的baseline是margin-bottom的底部(如果没有底边距,就是盒子的底部);
当inline-block里面含有文本时,baseline是最后一行文本字母x底部;
图片的baseline就是最底部;
将父元素的高度设置为300px,并且将子元素的line-height也设置为300px。
示例代码:
.box {
background-color: skyblue;
height: 300px;
line-height: 300px;
}
img {
vertical-align: middle;
}
<div class="box">
<img src="../img/eqq.webp" width="200" alt="">
div元素的文本内容xxxxxx
</div>
vertical-align: middle;
后,并不是在父盒子中垂直居中的,很明显距离上边缘比距离下边缘的距离要大;为什么会出现上面不能垂直居中对齐的情况?
原因是大部分文字都会下沉,所以x的中心点并不是位于父元素高度中线上的,位置要稍微偏下,所以就导致了图片偏下对齐的现象;
如何解决上面的问题?
其原因还是因为图片在设置vertical-align: middle;
后,必须要与文字中小写字母x的中心点对齐,所以将文字大小设置为0即可;
没有了字体大小,文字自然就没有下沉了,并且该行盒中不能再出现文本,一旦有文本又会找到文本的x中心点进行对齐;
使用vertical-align: middle设置垂直居中很明显是麻烦的,所以一般不用该属性设置元素垂直居中。一般使用relative+transform。
示例代码:
.box {
background-color: skyblue;
height: 300px;
font-size: 80px;
}
img {
position: relative;
top: 50%; /* 先下移父元素高度一半 */
transform: translateY(-50%); /* 再上移自己高度的一半 */
}
<div class="box">
<img src="../img/eqq.webp" width="200" alt="">
div元素的文本内容xxxxxx
</div>
运行结果:完美居中。
这个问题在这里已经有了答案: How can I vertically align elements in a div? (28 个答案) Vertical Aligned Text and Im
我想做一个像 view0.height = view1.height + view2.height 这样的约束。当 view1.height 或 view2.height 改变时,view0.heig
有人可以解释为什么这个标记: 呈现大约 2x18 的 float div(在 Chrome/Firefox 中)而不是 2x2 div? 即使所有空格都被删除,图像似乎也遵循 font-
我的 HTML 页面上有一些可拉伸(stretch)的元素。 使用这个 CSS .stretchable-element { height: 25%; } 随着浏览器窗口高度的增加,可伸缩元素
我在“developer.android.com”上查看以缩小我的位图文件,但我发现了一件事我不明白。所以我很感激你能给我一点帮助。 这是一个 snippet来自 developer.android.
假设我们有以下设置: .container { background-color: red; width: 500px; min-height: 300px; } .child { b
我遇到了高度错误的问题 $(window).height(); 也有类似的问题 here 就我而言,当我尝试时 $(document).height(); 它似乎返回了正确的结果 窗口高度返回320
我正在尝试使用 javaFX (2.2) 开发桌面应用程序,但我遇到了一些困难,无法真正让它按照我希望的方式运行。作为该框架的新用户,我可能没有按应有的方式使用它... 我想要的是一种仪表板,在 Sc
就这么简单:) 我右边的列动态变化,由于左列的高度设置为 100%,我认为根据 Right_Column 的高度动态修改容器的高度会很好。有小费吗?谢谢:) 最佳答案 如果我正确理解了问题,你可以做这
我有一个 ScrollView(包含 NSTextEditor),其顶部、左侧和右侧约束相对于其容器(主窗口)正确设置为 0。 我无法使其高度为主容器的一半。有什么帮助吗? 最佳答案 如果我理解正确,
这个问题之前曾被问过(Infinite Scroll on Mobile browsers),但没有得到回应。 我正在尝试实现无限滚动。 检查文档是否在底部,导致更多加载的函数是: if ($(win
这个问题在这里已经有了答案: height:100% VS min-height:100% (4 个答案) 关闭 6 年前。
我在尝试解决这个问题时遇到了一些问题。我已经编写了一个 jquery 函数来检测用户何时点击页面底部并触发一个函数。现在,虽然这适用于最常见的屏幕尺寸,但当用户的屏幕太大以至于可以一次看到整个页面时,
如何获得与导航高度(填充)相同的导航高度 ...!? nav { width: 100%; } nav ul { text-align: center; background-
所以,实际上我可能完全想多了,应该放弃最小高度,但我目前有以下 HTML:
我正在阅读 Bootsrap3 文档。我发现这段页脚代码粘在屏幕底部。 html, body { height: 100%; } #wrap { min-height: 100%; height: a
我对容器 div 的高度有疑问。我想 它是 body 的 100%,但不起作用。我添加了 css body height=100% var d = document; $(d).ready(funct
我有一个三部分布局:页眉、内容和页脚。我非常熟悉绝对定位技术;当我希望内容 div 扩展到可用高度的 100% 时,我经常使用它。 在这种情况下,我的问题是我事先不知道页脚的高度,它是根据自己的内容动
在下面的代码中,我尝试实现无限滚动。我遇到的问题是“document.height”和“window.height”返回相同的值。有人可以帮我解决我哪里出错了吗?
我有一个页面布局,其中两个 div 在一行中彼此相邻对齐。一列包含可变长度的文本,第二列包含图像。 标记基本上如下: texttext 我的
我是一名优秀的程序员,十分优秀!