如何将“text-align”设置为其默认值(禁用“text-align”继承)

时间:2017-10-30 14:49:47

标签: html css

在我的文档(小说)的特定部分中,我有一个文本块,其中最集中但不是其内容。为此,我使用了:

<div class="center">
    <div class="inline-block">
        <p class="left">Some text</p>
        <p class="left">More text</p>
        <p class="left">Even more text</p>
    </div>
</div>

<style>
.center {
    text-align: center;
}

.inline-block {
    display: inline-block;
    width: /* sometimes I specify it, others I let the biggest paragraph do it by itself  */;
}

.left {
    text-align: left;
}
</style>

总的来说,我对这个解决方案感到满意。但是,正如您所看到的,我需要使用类“.left”来避免段落继承其父div的居中值。问题是我不想设置我的文件的理由(合理/左);我希望用户(或默认的浏览器/ app / epub阅读器/等)来设置它。问题是如果我不添加这个类“.left”,段落将继承居中的值。

有没有办法让这些段落具有“默认”值(无论是对齐还是左对齐)? ¿我可以使用其他元素/样式实现相同的整体设计吗?我可以通过任何方式禁用此段落的继承吗?

我尝试了包括“transform:translateX(-50%)”,“display:table”的内容,将段落设置为“value:initial;”,混合伪类/属性选择器......基本上,我能做的一切看看我是否可以欺骗自己。到目前为止没有任何作有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您也可以使用.center { text-align: center; } .rtl { direction: rtl; } .inline-block { display: inline-block; width: /* sometimes I specify it, others I let the biggest paragraph do it by itself */ ; border: solid; } .left { text-align: initial; }

&#13;
&#13;
<div class="center">
  <div class="inline-block">
    <p class="left">Some text</p>
    <p class="left">More text</p>
    <p class="left">Even more text</p>
  </div>
</div>
<hr/>Test when direction is the otherway round...
<div class="center rtl">

  <div class="inline-block">
    <p class="left">Some text</p>
    <p class="left">More text</p>
    <p class="left">Even more text</p>
  </div>
</div>
&#13;
initial
&#13;
&#13;
&#13; https://developer.mozilla.org/en-US/docs/Web/CSS/initial

  

data-{something} CSS关键字将属性的初始值应用于元素。它可以应用于任何CSS属性,包括CSS简写全部。

答案 1 :(得分:2)

试试这个:

.inline-block p {
    text-align: initial;
}

.center {
    text-align: center;
}

.inline-block p {
    text-align: initial;
}
<div class="center">Center
    <div class="inline-block">
        <p class="left">Some text</p>
        <p class="left">More text</p>
        <p class="left">Even more text</p>
    </div>
</div>