右侧对齐没有浮动

zma*_*anc 19 html css html5 css3 twitter-bootstrap

我有一个聊天小部件,我正在添加一些样式.但是,我很难让"用户"聊天气泡对齐到屏幕右侧.

当我使用向右浮动时,向左浮动(对于另一侧),div不再正确定位,因为它们似乎只是在相对div的右侧.

我希望它能够附加将导致overflow-y创建滚动条的div.没有浮动的东西已经按预期工作了.

以下是jsbin中的当前版本.

http://jsbin.com/utulay/1/edit

TLDR; 试图让.chat-bubble-user divs在没有浮动的情况下与屏幕右侧对齐.

fca*_*ran 26

如果您不想使用浮动,请尝试使用inline-block,如下所示:

#chatWindow {
   text-align: right;
}

.chat-bubble-user {
   display: inline-block;
   text-align: left; 
}
Run Code Online (Sandbox Code Playgroud)

JsBin(在Fx20上测试):http://jsbin.com/awimev/2/edit

  • `inline-block`将导致元素被视为文本.因此,添加了字符之间的间距,就好像整个元素只是常规文本一样.如果您的布局需要像素完美定位,这是不可行的. (4认同)

mar*_*n87 6

您可以float:right在用户消息上使用并div在每条消息后放置一个clearfix :

http://jsbin.com/utulay/2/edit

<div class="chat-bubble-user">
    <div class="chat-bubble-glare-user"></div>
    <p>I have a question about kittens?</p>
    <div class="chat-bubble-arrow-border-user"></div>
    <div class="chat-bubble-arrow-user"></div>
 </div>
<div class="clearfix"></div>
Run Code Online (Sandbox Code Playgroud)

的CSS

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
.clearfix {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)