2012-04-09 5 views
0

私はいくつかのテキスト列を使ってレスポンシブデザインをしています。列には見出しがあり、見出しの左側に浮かべるのは、見出しのテキストの中央に垂直なイメージアイコンです。この問題は、ウィンドウの幅を狭めると発生します。 1つの見出し行が折り返されると、それらはもはやアイコンに垂直に整列されません。テキストラップとウィンドウの幅に応じてCSSクラスを変更する(JqueryまたはJavaScript)

基本的には、見出しのクラスを2行に折り返すときに変更するように指示するスクリプトを作成しようとしています。そのため、縦方向の位置を変更することができます。

私は、私はそれを書くするかどうかはわかりませんが、これは本質的であるようなスクリプトには本当に新しいです:

if window width > 768 and if lines of text in #services h2 = 1 

#services h2 { 
top:9px; 
} 

else 

if window width > 768 and if lines of text in #services h2 > 1 

#services h2 { 
top:1px; 
} 

は、誰かが私はこれを適切にフォーマットする助けてもらえますか?私はすでにいくつかの他のもののためにjQueryを使用していますので、それを行うことが可能なら、それは素晴らしいでしょう。

ありがとうございます!

EDIT:この最も重要な部分は、行が1行から2にラップする際の重要な一部であり、クラスのプロパティの変更です:

if lines of text in #services h2 = 1 

#services h2 { 
top:9px; 
} 

else 

if lines of text in #services h2 > 1 

#services h2 { 
top:1px; 
} 

答えて

-1

私はわかりませんよAND 'の左側がANDの左側にある場合は、

-EDIT-これがあなたの望むものかどうかを見てみましょう。

$(window).resize(function(){ 
    var h =$('#services h2').css('line-height'); 
    var size = $(window).width(); 
    if (size > 768){ 
      if($('#services h2').height() == h){ 
       $('#services h2').css('top','1px') 
      } 
    }else{ 
      if($('#services h2').height() > 2*h){ 
       $('#services h2').css('top','9px') 
      } 
    } 

}); 
+0

コードを表示することができれば、jsfiddle.netや何かが分かりやすいだろう。 –

+0

Thanks Toni。 Javascriptを使ってコンテナの高さを検出でき、テキストが2行に折り返されていると明らかに高さが変化することがわかりました。多分それはアプローチですか? –

+0

また、私はjsfiddleを使うことができましたが、私が書いたコードはほとんどありません。 :) –

0

JavaScript(jQueryを含む)は必要ありません。純粋なCSS:http://www.css3.info/preview/media-queries/を使用してください。長い説明がhttp://css-tricks.com/css-media-queries/

+0

Bergi - ありがとうございます。しかし、私は間違っていない限り、テキストのラップを使用してクラスを変更することはできませんメディアクエリ。それは私が主にやっていることです - 要素の位置合わせを、そこにあるテキストの行数に基づいて変更します。ウィンドウの幅を検出するjavascriptは、私が使用しているメディアクエリに加えて、ウィンドウが768未満のときにスクリプトの変更を有効にしたくないので意味がありますか? –

+0

@Bergiの防衛では、これを行う正しい方法はメディアクエリのように聞こえます。私は本当にあなたがJSを使うべき理由を見ていない! –

+0

ああ。 JSで行を数えるのは良い考えではないと私は思う。あなたは高さと線高さの計算値でそれを行うことができますし、フォントサイズも、それは厄介になります。テーブルレイアウト(冗談なし)を試したことがありますか?これはあなたの要件を最もよく満たすと思われますか? – Bergi

1

で発見することができます

あなただけの背景画像の垂直方向の位置を50%に設定されていませんでしたか?比較的小さな美容上の変化にjsを追加するのではなく、

+0

matpol背景画像ではありません。h2の左側に浮いています。 –

+0

それは絶対にありますか?同じ考え方で垂直位置を50%に設定します – matpol

+0

hmmm、多分 - 私は試してみましょう。ありがとう。 –

関連する問題