我想将内联元素右对齐到div的右侧。我已经看到在一个跨度上应用了float =“right”以对齐它但是对我来说似乎在语义上不正确,因为浮动应该将“框”或块元素移动到容器元素的右侧或左侧。
我对Float的理解是错误的还是在容器DIV中右对齐内联元素的另一种方法。
答案 0 :(得分:6)
float: right
完全可以应用于所有元素,块级或内联无论是在语义上还是根据规范(据我所知)。
如果你想在不使用float
的情况下对齐某些内容,那么就有可能margin-right: 90%;
(假设你知道它与右边对齐的内容适合其他10%。
或者direction: rtl;
但是我觉得它不会像我认为的那样,加上它可能使事情变得复杂。
position: absolute; right: 0;
可以根据需要执行(但它会从文档的流中删除,并且会定位在其第一个具有已定义position: relative;
的父元素上(或至少定义position
)。
您可以使用text-align: right
,但这似乎是一个简单的解决方案,我相信您已经尝试过了。
如果您可以提供用例,某些代码以及预期最终结果的指示,我们可能会为您提供更多帮助。
答案 1 :(得分:5)
自动浮动元素使其成为一个框。 (参见:http://css.maxdesign.com.au/floatutorial/introduction.htm)但是,它在语义上没有任何不正确之处。语义并没有规定什么应该显示为一个块,什么应该显示为内联 - 这是我们可以任意声明的一个原因。 (当你开始从他们的命令开始说话时,它肯定会变成凌乱 - 但我怀疑你在这里谈论的是什么,因为我无法想象你想做什么的情况和让它保持内联。)
此外,如果你需要将一些内联文本与正常文本流(这就是浮点数所做的)无关,那么你真的想将它显示为一个块。如果它真的是一个内联元素,你需要的只是text-align:right
- 你需要浮点数或在你上面声明的位置的任何东西都已经被视为一个块元素,所以声明它就没有错。