将有序列表中的希伯来字母对齐

时间:2017-05-07 06:33:57

标签: html css right-to-left

我正在设计包含有序列表的文章。 我无法将希伯来语中接受的列表的字母对齐(I.E.这就是在Microsoft Office Word中格式化有序列表的方式)。 我已尝试使用附加到代码段的Css进行播放。



ol {
  list-style-type: hebrew;
  direction: rtl;
  text-align: right;
}

<ol>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
  <li>10</li>
  <li>11</li>
  <li>12</li>
  <li>13</li>
</ol>
&#13;
&#13;
&#13;

错:

Current and wrong

所需:

Solution should be like

修改

我已经提供以下&#34;解决方案&#34;。随意提供不那么脆弱的东西。

&#13;
&#13;
ol {
  list-style-type: hebrew;
  direction: rtl;
  text-align: right;
}

li {
  counter-increment: num;
  display: flex;
}

li:before {
  content: '.' counter(num, hebrew);
  direction: ltr;
  unicode-bidi: bidi-override;
  min-width: 23px;
}
&#13;
<ol>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
  <li>10</li>
  <li>11</li>
  <li>12</li>
  <li>13</li>
</ol>
&#13;
&#13;
&#13;

EDIT2:

另一种方法是:

&#13;
&#13;
ol {
  list-style-type: hebrew;
  list-style-position: inside;
  direction: rtl;
  text-align: right;
}
&#13;
<ol>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
  <li>10</li>
  <li>11</li>
  <li>12</li>
  <li>13</li>
</ol>
&#13;
&#13;
&#13;

不幸的是,它看起来有点丑陋。 希望有一种方法可以将这种态度的直线性与之前的外观相结合。

1 个答案:

答案 0 :(得分:0)

我想你可以尝试不同的方式。看看下面的代码是否符合您的要求。

ol {
    direction: rtl;
    text-align: right;
    counter-reset: num;
    float: left;
}
li {
    list-style-type: none;
    counter-increment: num;
    padding-bottom: 4px;
    text-align: right;
    position: relative;
}
li:before {
    content: '.' counter(num, hebrew);
    padding-left: 10px;
    text-align: right;
    position: absolute;
    width: 28px;
    right: -35px;
    direction: ltr;
}
<ol>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
  <li>10</li>
  <li>11</li>
  <li>12</li>
  <li>13</li>
</ol>