为什么我的浏览器会向后回显此文本?

Kei*_*ben 4 php

我用PHP编写了这个:

<?php global $current_user;
      get_currentuserinfo();
?>
<div style="float: right; text-align: right;">
<h4>
    <?php
        if ( is_user_logged_in() ) {
     echo 'Welcome: ' . $current_user->user_login; 
    ?>
</h4>
<p>
    <?php
        echo '<a>My Classes</a> &nbsp;&brvbar;&nbsp; <a>Logout</a>';
    } else {
    ?>
</p>
<h4>    
    <?php
      echo 'Welcome, guest!';
   ?>
</h4>
<p>
    <?php
        echo '<a>Login</a> | <a>Register</a>';
    }
    ?>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我的浏览器显示:

Welcome: Admin
| LogoutMy Classes
Run Code Online (Sandbox Code Playgroud)

这是为什么?

Kar*_*oll 6

从它的外观来看,你的<a>标签漂浮在右边.在这种情况下,右浮动元素将始终从右到左堆叠.

这意味着浮动到右边的第一个元素将位于最右边缘,第二个元素将浮动在右边,但是位于第一个元素的左侧.要解决此问题,您必须(a)调整CSS以使<a>标签不会浮动在右侧,或者(b)重新排序echo语句以在输出"My Classes"之前输出"Logout" .