22

我有右侧对齐的文本,我希望它向左推一点,就像你在右侧使用文本缩进 bur 所做的那样。有什么解决办法吗?我一直在尝试使用边距,但 IE9 将第一个菜单项 (?) 的边距加倍。

继承人的CSS:

h99
{ padding: 0px;
    font-family: lucida, sans-serif;
    font-size: 16px;
    font-weight: bold;
    line-height: 40px;
}

#menublock
{ width: 230px;
    height: auto;
    float: left;
    text-align:right;
    margin-right: 0px;
}

ul
{ list-style-type: none;
  margin:0;
  padding:0;
  overflow: hidden;
}

ul a:link, ul a:visited
{ display: block;
  width: 210px;
  background: transparent;
  text-align: right;
  text-transform: uppercase;
  text-decoration: none;
    height: 40px;
    color: #ffffff;
    padding: 0px;
    margin: 10px;
}

ul a:hover, .selected
{ background: #484848 !important;
  color: #ffffff !important;
} 

菜单是一个简单的水平菜单。

4

6 回答 6

14

没有,不幸的是css中没有文本缩进,但是,你可以direction:rtl;对一些短文本使用文本方向,这样缩进就会出现在另一边。

于 2012-08-10T22:49:18.357 回答
8

简单的解决方案是将“之前” CSS 样式应用于您的文本元素,从而消除所有副作用direction: rtl;

&:before {
      content: ' ';
      width: 100px;
      float: right;
      height: 5px;
} 
于 2016-11-15T23:58:37.173 回答
4

请执行下列操作

text-indent: 60px;
direction: rtl;
text-align: left;

f.ardelian指出:标点符号会出现在所以 abc 的行首。会出现.abc

于 2016-04-22T18:27:59.807 回答
3

我所做和为我工作的是:

text-indent: 20px;
padding-right: 40px;
于 2016-09-02T19:39:17.980 回答
3

CSS 唯一的解决方案,不会弄乱文本方向(SEO 和翻译友好?),没有浮动,没有额外的元素,后缩进的宽度很容易修改:

&::after {
    content: "\0000a0";
    height: 1em;
    letter-spacing: 1rem;
}
于 2020-05-04T12:57:53.567 回答
0

我需要查看您的代码,但是解决旧浏览器问题的方法是包含一个空跨度并应用一个宽度:

<style>
span.right-adjust {
  display:inline-block;
  width:5px;
}
</style>

<div>Your text here<span class="right-adjust"></span></div>

如果不向我们提供代码,很难说出您想要什么。您也可以应用 float:right;

有很多方法可以解决旧浏览器和 CSS 的问题。

希望这可以帮助

于 2012-08-10T22:46:24.810 回答