CSS如何让垂直方向上的文字均匀分布

html-css025

CSS如何让垂直方向上的文字均匀分布,第1张

试试text-align:justify 实现两端对齐文本效果。不过看下这个。会受不同浏览器的影响。值 justify 可以使文本的两端都对齐。在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔,使各行的长度恰好相等。您也许已经注意到了,两端对齐文本在打印领域很常见。不过在 CSS 中,还需要多做些考虑。要由用户代理(而不是 CSS)来确定两端对齐文本如何拉伸,以填满父元素左右边界之间的空间。例如,有些浏览器可能只在单词之间增加额外的空间,而另外一些浏览器可能会平均分布字母间的额外空间(不过 CSS 规范特别指出,如果 letter-spacing 属性指定为一个长度值,“用户代理不能进一步增加或减少字符间的空间”)。还有一些用户代理可能会减少某些行的空间,使文本挤得更紧密。所有这些做法都会影响元素的外观,甚至改变其高度,这取决于用户代理的对齐选择影响了多少文本行。 CSS 也没有指定应当如何处理连字符(注1)。大多数两端对齐文本都使用连字符将长单词分开放在两行上,从而缩小单词之间的间隔,改善文本行的外观。不过,由于 CSS 没有定义连字符行为,用户代理不太可能自动加连字符。因此,在 CSS 中,两端对齐文本看上去没有打印出来好看,特别是元素可能太窄,以至于每行只能放下几个单词。当然,使用窄设计元素是可以的,不过要当心相应的缺点。注1:CSS 中没有说明如何处理连字符,因为不同的语言有不同的连字符规则。规范没有尝试去调和这样一些很可能不完备的规则,而是干脆不提这个问题。

css设置ul的li 居中均匀排列,我们首先需要做的就是将这个ul的width和height确定,使用margin让ul居中,margin的用法如图:

,然后在设置li的width和height,然后给li一个float,通过代码来理解:

<html>

<head>

<style>

ul{

width:300px

height:30px

border:1px solid #f00

marign:0 auto

}

li{

width:50px

height:30px

float:left

}

</head>

<body>

<ul>

<li>名字1</li>

<li>名字2</li>

<li>名字3</li>

<li>名字4</li>

</ul>

</body>

</html>

平均分布,也跟margin没什么关系啊,它只是一个外边距而已。

你说的平均匀分布,不知道是不是,容器里几个宽度平均分?

如果是你可以用box-flex来实现。

<style> 

div

{

display:-moz-box /* Firefox */

display:-webkit-box /* Safari and Chrome */

display:box

width:300px

border:1px solid black

}

p

{

-moz-box-flex:1.0 /* Firefox */

-webkit-box-flex:1.0 /* Safari and Chrome */

box-flex:1.0

border:1px solid red

}

</style>

</head>

<body>

<div>

<p>Hello</p>

<p>你好</p>

</div>

box-flex:元素的可伸缩行。柔性是相对的,例如 box-flex 为 2 的子元素两倍于 box-flex 为 1 的子元素。