2017-02-25 9 views
1

こんにちは皆、私はコーディング時に新しく、私のナビゲーションバーに少し助けが必要です 私は私のCSSで "white-space:nowrap;"私のナビゲーションバーの折り返しを避けるため、ズームしたページで背景色をカットした後、右にスクロールするとズーム時の背景色カット

私の背景色を完全に右に置くことができますか? またはアドバイスを歓迎します! は

Without zoom

With zoom

マイHTML

<!DOCTYPE html> 
<html> 

    <head> 
    <meta charset="utf-8"> 
    <title>Conférence des directeurs des écoles doctorales de droit</title> 
    <link rel="stylesheet" href="css/master.css"> 
    </head> 
    <body> 
     <nav><ul> 
     <li><a href="#">Présentation</li> 
     <li><a href="#">Liste des ED</li> 
     <li><a href="#">Documents</li> 
     <li><a href="#">Liens</li> 
     <li><a href="#">Infomations/IP</li> 
     <li><input id=search-button type="submit" name="search_button"> 
      <input id=search-box type="text" name="search_box" placeholder="Rechercher..."></li> 
     </ul></nav> 

    </body> 
</html> 

私のCSSありがとう

@font-face { 
    font-family: "Quicksand Light Regular"; 
    src: url('quicksand_light-webfont.woff'); 
} 

nav { 
    position: absolute; 
    background-color: darkred; 
    top: 0; 
    right: 0; 
    left: 0; 
    white-space: nowrap; 
    text-align: center; 
    max-width: 100%; 
    zoom: 1; 
} 

nav li { 
    font-family: "Quicksand Light Regular"; 
    font-weight: bold; 
    display: inline-block; 
    margin-right: 45px; 

} 

a { 
    color: white; 
    text-decoration: none; 
} 
+0

'nav 'の' max-width'を '100%'以上にして、' navで追加された '45px右マージン 'を補うli ' – mike510a

+0

' overflow' CSS属性を試してみる必要があるかもしれません。 – mike510a

+0

'max-width:330%;同じ問題ですが、'オーバーフロー:自動; 'を追加したとき スクロールバーが機能しましたナビゲーションバーとページの下部にない – Cornos

答えて

0

誰かが私 のための解決策を見つけた私はright : 0; を削除し、すべての人のためにmin-width:100%; Thxをを追加する必要がありました

nav { 
background-color: darkred; 
position: absolute; 
top: 0; 
left: 0; 
min-width: 100%; 
white-space: nowrap; 
text-align: center; 

}

0

CSSルールnavmax-width: 100%からwidth: 100%に変更する

+0

"幅:100%"私は最大幅と思ったのでそれを戻すことを忘れちょうど:100%解決策を解決します – Cornos

+0

そして、助けてください?あなたはそれを削除しようとすることができます "ズーム:1" - それはとにかく多くの意味をしません... – Johannes

+0

また、 'オーバーフロー - xを追加してみてください:'ナビ 'に表示 – Johannes

0

代わりにフレキシブルボックスを使用してみてください。

自動的に任意のサイズのスペース に収まるflexboxesを作成するために、単純なdiv要素を使用してulliを使用してからの変更以下の例(例を参照)

EDIT

変更HTML:

  • 削除されたULおよびLIタグ
  • は、<div id="menu"><UL>を交換して<LI>を置き換え、変更CSSのちょうど<div>

リスト属性:min-width: 100%

  • に変更

    • max-width: 100%#menu
    • navに改名(#menuための2つの新しいルールを追加しました1つはフレックスボックス用、もう1つは古いものに置き換えてnavルールは)
    • margin-leftmargin-right属性に置き換えることnav div divからnav div divルールmargin-right: 45pxを削除
    • nav liルールの名前を変更しました。

    @font-face { 
     
        font-family: "Quicksand Light Regular"; 
     
        src: url('quicksand_light-webfont.woff'); 
     
    } 
     
    
     
    #menu { 
     
        position: absolute; 
     
        background-color: darkred; 
     
        top: 0; 
     
        right: 0; 
     
        left: 0; 
     
        white-space: nowrap; 
     
        text-align: center; 
     
        zoom: 1; 
     
        min-width: 100%; // notice I changed max-width to min-width 
     
    } 
     
    
     
    #menu { 
     
        display: flex; 
     
        flex-direction: horizontal; 
     
        justify-content: space-between; 
     
        align-items: stretch; 
     
        flex-wrap: nowrap; 
     
    } 
     
    
     
    nav div div { 
     
        font-family: "Quicksand Light Regular"; 
     
        font-weight: bold; 
     
        margin-right: 15px; 
     
        margin-left: 15px; 
     
    } 
     
    
     
    a { 
     
        color: white; 
     
        text-decoration: none; 
     
    }
    <!DOCTYPE html> 
     
    <html> 
     
    
     
    <head> 
     
        <meta charset="utf-8"> 
     
        <title>Conférence des directeurs des écoles doctorales de droit</title> 
     
        <link rel="stylesheet" href="css/master.css"> 
     
    </head> 
     
    
     
    <body> 
     
        <br> 
     
        <nav> 
     
        <div id="menu"> 
     
         <div><a href="#">Présentation</div> 
     
         <div><a href="#">Liste des ED</div> 
     
         <div><a href="#">Documents</div> 
     
         <div><a href="#">Liens</div> 
     
         <div><a href="#">Infomations/IP</div> 
     
         <div><input id=search-button type="submit" name="search_button"> 
     
          <input id=search-box type="text" name="search_box" placeholder="Rechercher..."></div> 
     
         </div></nav> 
     
    
     
        </body> 
     
    </html>

  • +0

    ** Run Snippetをクリックしてフルページビューを見てください。** – mike510a

    +0

    フレックスのアイデアはとても面白いです。 私はこの問題があったの主な理由は、私は1つの行に私のnavをしたいのでです 私は別のセクションでflexboxを使用することを好む – Cornos

    +0

    'flex-wrap:wrap'を' flex-wrap:nowrap'に変更するだけです – mike510a

    0

    mike510a @ありがとうございますが、私は別の魔女をfindink それに直面していないことができますので、問題の解決策を見つけたい、本当に便利されています くださいこれは、例えば:

    > <!DOCTYPE html> <html> <head> 
    >  <meta charset="utf-8"> 
    >  <title>Test</title> 
    >  <link rel="stylesheet" href="css.css"> </head> <body> 
    >  <nav> 
    >  <ul> 
    >   <li>test1</li> 
    >   <li>test2</li> 
    >   <li>test3</li> 
    >   <li>test4</li> 
    >   <li>test5</li> 
    >   <li>test6</li> 
    >   <li>test7</li> 
    >   <li>test8</li> 
    >   <li>test9</li> 
    >   <li>test10</li> 
    >  </ul> 
    >  </nav> 
    > 
    > </body> </html> 
    

    そして、cs S:私は同じ問題を抱えている

    > nav { position: absolute; background-color: blue; width: 100%; 
    > text-align: center; white-space: nowrap; } li { display: 
    > inline-block; } 
    

    ...