ハンバーガーメニュー

スライドインタイプのスマホメニューなんかで、メニュー領域外をタップした時にメニューが閉じる動作。
スマホアプリのUIとしてはもはやデフォルトと言えますよね。
当然、WEB上でも同じ体験が求められます。WEBはどんどんアプリ化されていきますから、寄せていくのは必然。

という事で、jQueryを使ってこれを再現しました。

▼HTML※Bootstrap3ベース

▼css

▼jQuery

position:stick

position:stickはスクロールして、定位置まで来たらそれ以降は fixed するプロパティです。

■html

position: sticky

■css
.sticky {
position: sticky;
top: 0;
}

h3 要素の位置までスクロールをすると固定されます。定位置まで来ると固定されるところが、プロパティのfixed とは異なります。

どこまで固定されるかは「stickyが指定された要素の親の端」までです。

background-blend-mode で背景をブレンドする

画像を加工して再アップしなくても、色の変更がCSS だけで再現できます。また、cssで効果を切り替えたりといったことも容易になります。

div {
width: 300px;
height: 250px;
background-size: 300px 250px;
background-color: green;
background-image: url(test.jpg) no-repeat;
background-blend-mode: overlay;
}

GoogleMapをレスポンシブ対応させる

google mapのiframeタグをタグで囲み、cssを適用するとレスポンシブ対応可能になります。
.google-mapWrap {
position: relative;
padding-bottom: 300px;
height: 0;
overflow: hidden;
}
.google-map-wrap iframe,.google-map-wrap object,.google-map-wrap embed {
width: 100% !important;
height: 100% !important;
     position: absolute;
top: 0;
left: 0;
}

リスト以外の要素をカウントする

liに「list-style-type: decimal;」のプロパティで自動で順番を付けることができます。

.test_count h3 {
counter-increment : chapter ;
}
.test_count h3:before {
content : “第” counter(chapter) “話” ;
padding-right: 10px;
color : #ccc;
}
これでh3タグが現れた順に番号が付けられます。

自動カーニング

カーニングもプロパティで指定するだけで自動的にできます。

文書の見出しをカーニングしておくことでサイトレイアウトが綺麗に見えます

cssのfont-feature-settingsプロパティを指定するとOpenTypeフォントの間隔に関する情報を使って、自動的にカーニングが行われます。

paltだと全部の文字が対象になります。ですが、記号や句読点も詰まります。

max-widthをリセットする

レスポンシブ構築の時など、PC用にmax-widthを使用した時、スマホではmax-widthリセットをしたい場合、
『auto』を指定しただけでは、効果はないので、以下のようなセレクタを設定します。

.test{
max-width:initial;
}

各属性を初期値に戻すことのできる「initial」を設定します。

幅を固定せず、ブロックの中央寄せ

display:inline-blockなら可変幅で、内包する要素にtext-align:centerを指定することで、中央寄せすることもできます。ですが、改行されないので、要素を中央寄せして縦に並べようとしたのに、幅によっては横に並んでしまうことがあります。

そこで、可変幅にしつつ、改行が入るようにするためにdisplay:tableを使います。

.test {
display: table;
margin:0 auto;
}