2016-12-18 6 views
1
 <div class="sidebar-menu"> 

      <ul> 
       <li><a href="#"><i class="fa fa-truck" aria-hidden="true"></i> Service </a></li> 
       <li><a href="#"><i class="fa fa-trophy" aria-hidden="true"></i> Product </a></li> 
       <li><a href="#"><i class="fa fa-trophy" aria-hidden="true"></i> Agreement </a></li> 
       <li><a href="#"><i class="fa fa-trophy" aria-hidden="true"></i> Contract </a></li> 
      </ul> 

     </div> 

私は画面が小さくなると、私はちょうど "i"(フォントのすばらしいアイコン)の内容を表示し、テキストを取り除きたいという反応性の高いウェブサイトを作りたいと考えています。タグが入れ子になっているという意味をどうやって混乱させているように思えます。モバイルメディアクエリのために、あなたにレスポンシブ(HTML&CSS):HTMLのネストされたタグ内の特定のタグを隠すことは可能ですか?

+1

だけスパン内のテキストをラップし、メディアクエリーでスパンを隠し、。 – Aziz

+0

私は@Azizに同意します。技術的には、子供を見せている間に親を目に見えないようにすることは可能ですが、それだけです。彼らは見えなくなる。彼らはまだ目に見えるものと同じ空間を占有します。詳細については、この質問で見つけることができます:http://stackoverflow.com/questions/5521387/show-child-div-within-hidden-parent-div – icecub

答えて

2

はいすることができますに感謝: `

.sidebar-menu li a{ 
font-size:0 
} 
.sidebar-menu li .fa{ 
font-size:16px 
}     

あなたは、(要素を隠し、示すために使用される一般的なCSSプロパティのうちいずれかの

+0

これは動作しません。私はそれがかなり素晴らしいアイデアだと認めますが、あなたが見ることができるように、クラスfaを持つ要素は、テキストが現れる前に終わります。そのため、CSSは後のテキストには影響しません。 – icecub

+0

ああ私の間違い。これを持ってくれてありがとう。今upadted –

+0

それはどちらも動作しません。そのようにすると、 ''も見えなくなります。そして、それはまさに彼が望まないものです。あなたが試していることは分かっていますが、テキストの周りに ''のような余分な要素がなければ、テキストだけのセレクタを設定する方法はありません。 – icecub

0

opacity:0display:noneを16pxに変更することができ、およびvisibility: hidden)、それらのうちの1つのみが、親が見えない間に要素の子要素を実際に表示できるようにします。スニペットは、フルページモードを使用してウィンドウのサイズを変更見直し

@media (max-width: 500px) { 
    li { 
     visibility: hidden; 
    } 
    i { 
     visibility: visible; 
    } 
    } 

SNIPPET

html, body { 
 
    height: 100%; 
 
    width: 100%; 
 
    font: 400 16px/1 Verdana; 
 
    position:relative; 
 
} 
 

 
.sidebar-menu { 
 
    width: 40vw; 
 
    height: 100%; 
 
    border: 4px ridge grey; 
 
    border-radius: 6px; 
 
    position: absolute; 
 
    left: 0; 
 
    top: 0; 
 
    bottom: 0; 
 
    font-variant:small-caps; 
 
    resize: both; 
 
    overflow: auto; 
 
} 
 

 
ul { 
 
    list-style:none; 
 
} 
 

 
li { 
 
    line-height: 2; 
 
} 
 

 
a, a:link, a:visited { 
 
    color: blue; 
 
    text-decoration: none; 
 
} 
 

 
a:hover, a:active { 
 
    color: tomato; 
 
} 
 

 
@media (max-width: 500px) { 
 
    li { 
 
    visibility: hidden; 
 
    } 
 

 
    i { 
 
    visibility: visible; 
 
    } 
 
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/fontawesome/4.6.3/css/font-awesome.min.css"> 
 

 
<div class="sidebar-menu" > 
 

 
    <ul> 
 
    <li><a href="#"><i class="fa fa-truck" aria-hidden="true"></i> Service </a> 
 
    </li> 
 
    <li><a href="#"><i class="fa fa-trophy" aria-hidden="true"></i> Product </a> 
 
    </li> 
 
    <li><a href="#"><i class="fa fa-trophy" aria-hidden="true"></i> Agreement </a> 
 
    </li> 
 
    <li><a href="#"><i class="fa fa-trophy" aria-hidden="true"></i> Contract </a> 
 
    </li> 
 
    </ul> 
 

 
</div>

関連する問題