在Safari和Chrome中居中最后一行合理文本(" text-align-last" not working)

时间:2015-11-14 11:28:54

标签: css google-chrome safari

您好我正在尝试格式化我的网页段落,以便文本合理,最后一行居中。我找到了CSS属性" text-align-last"这允许我指定最后一行的对齐方式。

问题是Chrome和Safari不支持此属性(还有......?)。

任何人都有替代方法或诀窍吗?

W3C手册:http://www.w3schools.com/cssref/css3_pr_text-align-last.asp

由于

1 个答案:

答案 0 :(得分:3)

我认为单独使用CSS是不可能的。

这是一个JavaScript解决方案,其中克隆位于元素后面。元素有text-align: justify,克隆有text-align: center

然后代码会降低原始元素的高度,以便只显示克隆的最后一行。

var p= document.getElementById('lorem'),
    clone= document.createElement('p');

clone.textContent= p.textContent;
clone.className= 'clone';
p.parentNode.insertBefore(clone, p);
p.style.height= p.offsetHeight - 14 + 'px';
#lorem, .clone {
  position: absolute;
  line-height: 14px;
  font: 14px arial;
  width: 500px;
}

#lorem {
  text-align: justify;
  overflow: hidden;
  background: white;
}

.clone {
  text-align: center;
}
<p id="lorem">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>