2016-08-18 31 views
0

それは簡単なはずですが、どうすればよいか分かりません。私が欲しいのは、.currentクラスがナビゲーションメニュー内の現在のリスト項目に境界線を追加していることです。上部に境界線を配置するにはどうすればよいですか?

私は(例を参照してください。http://codepen.io/anon/pen/jARqOr)がすでにこれをやった しかし、私は境界線がこのIMAG(赤枠)のように、ヘッダの先頭に整列したいと思います:

enter image description here

この結果を得るにはどうすればよいですか?

あなたのお返事をお待ちしております。

ありがとうございました。

+0

あなたは2つの境界線を意味しますか?あなたのイメージでは、私は太い黒いボーダーと薄い赤いボーダーを参照してください。それとも、これはどういう意味ですか?:http://codepen.io/anon/pen/KrYzNm – Mojtaba

+0

誤解をおかけして申し訳ありません。赤い枠線のみ。ブラックはPhotoshop .. – Caspert

+1

**最小**デモが必要です...あなたのCodepenにはあまりにも多くのCSSがあります。 –

答えて

2

私はこれが最高ソリューションであるかどうかわからないんだけど、これは働いていた:(ヘッダーのパディングの負の値)を-55pxするマージントップの設定

ul li a.current { 
    padding-top: 50px; 
    margin-top: -55px; 
} 

は、トップにそれを取ります50px(55px - 5pxの境界線)のパディングトップを追加すると、テキストが他のアンカー要素と同じになるようになります。

.currentアンカーの上にあるすべてのスペースは、クリック可能な領域の一部です。

+0

ソリューションのおかげで、はい、それは実際に不幸です。のための解決策はありますか? – Caspert

+0

おそらく解決策はありますが、私が今知っている解決策はありません。うまくいけば、他の誰かが何らかの入力を提供してくれることを望みます – jhdoak

0

あなたはこのような何かを試みることができる:

ul .current a { 
    padding-top: 42px; 
    background: linear-gradient(to bottom, #005f37 0%,#005f37 100%); 
    background-size: 100% 7px; 
    background-repeat: no-repeat; 
    color: #006038; 
} 

それは

黒が

とにかくこのコードは、単にCSSを使用するPhotoshopの

である私はあなたのコメントを見ていない

0

私の作品を。

see output you want just using CSS

- CSS -

ul li a.current { 
      border-top: 4px solid #000; 
      /*box-shadow: 0px -5px 0px black;*/ 
      padding :0px 5px 5px 5px; 
      color: red!important; 
    } 

    ul li a.current span { 
      padding:5px 0px ; 
      border-top: 2px solid red; 
      /*box-shadow: 0px -2px 0px red;*/ 

    } 

---同じサイズのダブルボーダーその後、 使用このCSSの代わりに

ul li a.current { 
     box-shadow: 0px -5px 0px black, /* add as many as you want */ 
     inset 0px 2px 0px red; 
     padding:5px; 
     color: red!important; 
    } 
関連する問題