2017-03-21 43 views
-1

所以我有這個註銷鏈接,它從您登錄時呼應您的用戶名+ a |和註銷。一個例子是「ilikepizza |註銷」。但我喜歡它,因此鏈接的div響應用戶名的寬度,而不是。所以如果有人有一個長的用戶名,它會自動適應DIV。DIV對用戶名長度的響應

下面的代碼(包括CSS):

<?php 
 
session_start(); 
 
$username = $_SESSION["username"]; 
 
?> 
 
<html> 
 
<head> 
 
\t <link rel="shortcut icon" href="pictures/vinyl_gb_vinyl-600x600.png"/> 
 
\t <title> 
 
\t \t website.com 
 
\t </title> 
 
<link href="style.css" rel="stylesheet"> 
 
\t <style> 
 
\t b { font-weight: bold; } 
 
    BODY { background-image: url(pictures/background.jpg); background-repeat: no-repeat; } 
 
\t a {color: white; font-family: Geosans; text-decoration:none;} 
 
\t \t .loggedin{ width: 9vw; 
 
\t \t background-color: #333; 
 
\t \t border-radius: 5px; 
 
\t \t margin: 0; 
 
\t \t margin-bottom: 5px; 
 
\t \t } 
 
\t \t .loggedin:hover {background-color: #111;} 
 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
\t </style> 
 
</head> 
 
<body> 
 
\t \t <?php 
 
\t \t  session_start(); 
 
\t \t \t \t if (isset($_SESSION['username'])){ 
 
\t \t \t \t \t echo '<div class="loggedin">'; 
 
\t \t \t \t \t echo '<a href="Jukebox/logout.php">'; 
 
\t \t \t \t \t $username = $_SESSION['username']; 
 
\t \t \t \t \t $username = $_SESSION['username']; 
 
\t \t \t \t \t echo $username; 
 
\t \t \t \t \t echo '&nbsp;&nbsp;|&nbsp;&nbsp;Log out</a>'; 
 
\t \t \t \t  echo '</div>'; 
 
\t \t \t \t } 
 
\t  else{ 
 
     echo ''; 
 
\t \t \t \t } 
 
\t \t \t \t ?>

任何人都知道如何做到這一點?我嘗試了多種東西,但沒有骰子。 編輯:不運行它,它不註冊你登錄。我只用它來顯示你的代碼。

+0

您可能想要浮動塊或使其成爲嵌入塊而不是設置寬度。 – jeroen

+0

我試着設置'display:inline-block',但這隻會讓它變得更糟。 –

+1

有太多可能的答案,我認爲你的例子中缺少大部分的HTML。你可以在jsfiddle上做一個例子嗎? – Oliver

回答

0

您應該刪除的width財產在css爲.loggedin。這給對象一個靜態寬度。

.loggedin { 
    /* width: 9vw; Don't set a static width */ 
    background-color: #333; 
    border-radius: 5px; 
    margin: 0; 
    margin-bottom: 5px; 
} 
+0

我知道,這是一個臨時解決方案。 –

+0

它應該沒有靜態寬度。你可以發佈沒有寬度屬性的結果的屏幕截圖嗎?這樣我可以看到究竟發生了什麼。 – Jerodev

+2

我會添加顯示:內嵌塊。所以它適合於內容,但仍然具有阻擋元素的屬性。最後,它取決於父元素。我認爲在Maarten的例子中,大多數HTML都沒有提供一個很好的答案。 – Oliver