2013-02-15 63 views
0

我正在更新舊網站上的一些遺留代碼,CSS是一場噩夢。我想要做的就是讓需要時保存用戶名的div擴展一點,並保持外部div居中(水平)在頁面上。 myLabel控件是基於用戶的名字填充的(它通常不是預先定義爲John Doe)。如何水平居中未知長度的div並使用最小寬度?

目前,myContainer上的800px值和myGridB上的350px值之間,更長的用戶名正在包裝在div內。我寧願在一行顯示長名稱,如果可能,不要將其他控件撞到下一行。

我已經嘗試在myContainer和myGridB上使用最小寬度,但這隻允許div跨整個頁面展開。我發現這是this question中div的常見行爲。

我也嘗試了一些this other question中的方法,但是這會將我的標題內容推到左邊,我需要它居中。

我知道這個代碼是一個亂碼一團糟,但我明白任何想法...

ASPX:

<div class="myLogo1"> 
    <div class="myContainer" style="width: 800px"> 
     <div class="myGridC myLogo2 first"> 
      <a onclick="loadMyHomePage(); "><img src="myImageAddress" /></a> 
     </div> 
     <div class="myGridB first last"> 
      <div class="myHome myGridB first last"> 
       <asp:Label runat="server" CssClass="myHome" ID="myLabel"> 
        John Doe 
       </asp:Label> 
       <span class="myHome"> 
        <asp:HyperLink NavigateUrl="mySettingsPage.aspx" runat="server"> 
         My Settings 
        </asp:HyperLink> 
       </span> 
       <a href="myLogoutPage.aspx") %>"> 
        <img src="myLogout.jpg") %>" alt="Logout" /> 
       </a> 
      </div> 
      <div class="myGridB first last"> 
       <div class="myGridA myPaddingA myHome"> 
        <a href="myOtherPage" target="_blank"> 
         <img width="180px" height="72px" src="myOther.jpg" /> 
        </a> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

CSS:

.myLogo1 
{ 
    background-color: #363636; /* #000000; */ 
    width: 100%; 
    height: 125px; 
} 
.myContainer 
{ 
    margin-left: auto; 
    margin-right: auto; 
    width: 960px; 
} 
.myGridA, .myGridB, .myGridC { 
    display: inline; 
    float: left; 
    margin-left: 5px; 
    margin-right: 5px; 
} 
.myGridA 
{ 
    width: 190px; 
} 
.myGridB 
{ 
    width: 350px; 
} 
.myGridC 
{ 
    width: 390px; 
} 
.myLogo2 
{ 
    border: none 0px transparent; 
    padding-top: 10px; 
} 
.first 
{ 
    margin-left: 0; 
} 
.last 
{ 
    margin-right: 0; 
} 
.myHome 
{ 
    text-align: right; 
    display: block; 
    vertical-align: top; 
    float: right; 
    position: relative; 
    font-size: 9pt; 
} 

.myHome span 
{ 
    font-size: 9pt; 
    float: left; 
    padding: 3px 5px 0px 0px; 
} 
.myContainer .myPaddingA 
{ 
    padding-left: 44px; 
} 

回答

0

如果它的想法,怎麼我通常水平居中我的div是我將容器設置爲一定的寬度。那麼我使用margin:auto;希望有所幫助。