我有一个大段落,我想保留在一个p标签中。我已经看到了一些解决方案,但它要求每一行都在不同的标签中。
这个想法是让线条合理并同时居中。我知道在CSS中没有意义,因为属性text-align定义了两个奇怪的原因。
在发布解决方案之前,请创建一个<p>
或<div>
或任何你想要的内容,用三行文字填充它,并确保前两个是合理的,最后一个是居中。这正是我要求的。
答案 0 :(得分:0)
我理解你原来的问题和澄清要求两件不同的事情。
如果您正在尝试创建一个以短文本为中心并且长段落对齐的页面,那么您可以使用javascript检查文本的长度并应用相应的样式。
用jquery做这样的事情会非常简单:
<p id='fixed_text'>
Text above a certain length can be displayed as justified and shorter text can be centered
</p>
...
var maxLength = 100;
function sizeParagraph(){
if($('#fixed_text').text().length > maxLength){
$('#fixed_text').css('text-align','justified');
} else {
$('#fixed_text').css('text-align','center');
}
}
答案 1 :(得分:0)
基本原理:如果height()等于行高,则段落(或任何块元素)获得类“oneliner”(以css规则为中心)。
的CSS:
/*
all Ps should be {
text-align: justified;
height: auto;
} by default
*/
.oneliner {text-align: center}
JS:
$(document).ready(function(){
$('p').each(function(){ // change the "p" selector at will
var $this = $(this);
if(Math.round(parseFloat($this.css('lineHeight'), 10)) == $this.height())
$this.addClass('oneliner');
});
});
请注意,如果嵌套图像或块元素高于段落的行高,或者高度不是自动,则此方法无效。