我可以使用<span>标记忽略其父容器的CSS吗?</span>

时间:2012-03-11 03:35:57

标签: html css tags formatting alignment

我正在处理一些我基本上可以读取的HTML文本。我可以用CSS改变一些东西,但HTML的实际布局是静态的。我正在使用几百个相同类型的HTML实例,如下所示:

<div class = 'outer'>
     <span class = 'inner'>5</span> 
     Some other random text that is formatted according to the style of the outer class.    
</div>

出于我正在处理的项目的目的,我在外部类中显示的所有文本(,内部跨度的内容除外)都需要证明其合理性。但是内跨度的内容需要锚定到行的开头。我目前的问题是因为所有文本都是合理的,因此内部跨度内容被推送到行上的不同位置,因为文本是完全不同的。

那么有没有办法让内部范围忽略外部类告诉它是合理的这一事实?我怎么能解决这个问题?

enter image description here

我对6&amp; 7看起来和8&amp; 9看,只要它是一致的。

编辑:CSS

.outer {
 padding-left:10px;
 padding-right:10px;
 font-family:palatino;
 font-size:17px;
 -webkit-column-count: 2;
 -webkit-column-gap: 20px;
 -webkit-column-rule: solid 1px #999;
 border-bottom: solid 1px #999;
 text-align:justify;
 }

然后我意识到我经常没有设置SPAN的课程,所以我尝试做下面建议的答案:

.outer span{
 display:inline-block;
 width:10px;
}//But it still isn't fixing the issue of the left side alignment

2 个答案:

答案 0 :(得分:1)

如果我正确理解了这种情况,你会有一个以数字开头的短段落,并且两段的段落都是正确的,但是数字和第一个单词之间的空格不应该被拉伸。而且,段落似乎从一个不间断的空间开始;否则我无法理解他们为什么从屏幕截图中的宽度不一的空间开始。

我认为没有任何CSS解决方案。对齐的CSS属性相当简单,不允许您控制调整哪些空格(即使按照CSS 3文本)。

虽然有一个字符级解决方案,但存在一些风险。而不是不间断空间(被某些浏览器视为不可伸缩的空间,而不是所有浏览器,并且趋势似乎将它们视为除了换行之外的正常空间),而是使用固定宽度空间。然而,这可能在IE 6上失败,具体取决于字体;见我的notes on Unicode spaces

你可以指定数字被一个不可伸展的en空间包围,从而通过如下开始一个段落将所有空间拉伸指向该行的其他空格:

 <div class = 'outer'>
 &ensp;5&ensp;Text of the paragraph.
 </div>

宽度为0.5em的en空间可能太宽。每个四个空间(0.25em宽)对应于未拉伸时正常空间的典型宽度(尽管这取决于字体)。要使用它,请使用&ensp;或实际的U + 2005字符替换&#x2005;,如果使用UTF-8编码。

答案 1 :(得分:0)

你可以使用display:inline-block并指定宽度......像这样

.outer{
    text-align: justify;
}

.inner{
    display: inline-block;
    width: 10px;
}​