Html 单行时居中,多行时不居中
如果某些文本放在一行中,是否可以将其水平居中对齐,但如果它占用多行,是否可以不居中对齐和执行Html 单行时居中,多行时不居中,html,css,Html,Css,如果某些文本放在一行中,是否可以将其水平居中对齐,但如果它占用多行,是否可以不居中对齐和执行空白:normal(最好,但不一定,不使用javascript)?Javascript解决方案—不一定是最好的—应该是询问div/p的高度,然后从那里做出决定。如果只有一行,则需要知道DOM元素的高度。如果高度超过此值,则执行一项操作;如果不是,你做另一个。您可以将CSS设置为更常见的默认值,并且只在少数情况下更改它 例如: var tag = document.getElementById("id_he
空白:normal
(最好,但不一定,不使用javascript)?Javascript解决方案—不一定是最好的—应该是询问div/p的高度,然后从那里做出决定。如果只有一行,则需要知道DOM元素的高度。如果高度超过此值,则执行一项操作;如果不是,你做另一个。您可以将CSS设置为更常见的默认值,并且只在少数情况下更改它
例如:
var tag = document.getElementById("id_here");
if(tag.offsetHeight > 18){
tag.style.textAlign = "left";
tag.style.whiteSpace = "normal";}
您还可以使用jQuery。请注意,远视包括填充
但您并不真正需要Javascript解决方案。请注意,我想不出在CSS中该怎么做,因为它涉及到动态样式。我坚持认为这是不可能的。这里有一个HTML+CSS解决方案 诀窍是:
内部的
具有显示:内联框属性,使其收缩到其内容的大小
具有文本对齐:居中
,因此如果
的大小小于
的宽度,则
将居中
具有文本对齐:左
,因此文本实际上将左对齐
居中
.大盒子{
文本对齐:居中;
宽度:40em;
边框:1px纯红;
}
.如果是单行,则居中{
文本对齐:左对齐;
显示:内联块;
边框:1px纯蓝色;
}
小的
你所有的线路都是我们的!
大的
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!
你所有的线路都是我们的!