未経験からでもWEBエンジニアになれるブログ(さぼり気味)

可能な限り楽して生きていきたい。好きなものだけ食べて痩せたい。控えめに行っても玉の輿乗りたい。ほんとはプライベートブログにしたい。何もしてないのに尊敬されたい。家から出たくない。

HTML/CSS-14日目

 


横組みシンプルメニューを作る
CSSもかなり進んできました。

 

 

はよフェス行きて〜

 

 

 

 

 


-------------------------------------

 

 

CSSのプロパティで、displayというものがあります。その中で特に混同しやすい
inline-blockinlineについて考えます。

 

inline-blockとinlineの違い

 

 

inline-block

一言で言うと、インライン要素のように使えるブロック要素。幅や高さを指定できる。


inline

インライン要素。幅や高さは指定できない。

 

 

 

この二つの共通点は、


ブロック要素のように、ブラウザの左端から右端まで領域を取らないこと。
また、floatしなくても勝手に左からつめて並びます。

 

 

 

今回はブロック要素にfloatの方法ではなく、
inline-blockを使って横並びメニューを作ります。前回より圧倒的簡単。

 

 


完成系はこいつです。

 

f:id:mocha0426:20170727132941p:plain

 


作っていきます。

 

 

横組みリストメニューを実装する

 

 

f:id:mocha0426:20170727132953p:plain

 

 

 

HTMLはこれです。
項目のみのリスト。

 

f:id:mocha0426:20170727133010p:plain

 

CSSはまず、ブラウザのオート余白を消します。これ毎回しましょう。

 

f:id:mocha0426:20170727133025p:plain

 


ulに対し、リストのマーカーを消します。

リストの内容のスタイルを指定していきます。

 

f:id:mocha0426:20170727133039p:plain


文字の色を指定し、
hoverを指定します。

 

f:id:mocha0426:20170727133050p:plain

 

完成です。

 

f:id:mocha0426:20170727133104p:plain

 


項目2のところにカーソルを載せています。
hoverプロパティが効いてます。

 


inline-blockがわかりやすいように枠線をつけてみました。

 

f:id:mocha0426:20170727133126p:plain

 

この赤い枠線がinline-blockの持つ領域です。floatを使わなくともボックスが横並びになるのがわかります。

 

 


ちなみに、hoverプロパティを使ってこんなこともできます。

 

f:id:mocha0426:20170727133143p:plain


このコードの赤線の部分。

 

transition:0.5s;

 

これで0.5秒かけて変化するということを指定します。

 


上の


.Atype ul li a
の中のtransitionは、hover後の変化を指定しています。

 

 

下の


.Atype ul li a:hover
の中のtransitionは、hoverしたときの変化を指定しています。

 


これをブラウザでやってみると、

 

f:id:mocha0426:20170727133240p:plain

 

この項目5にカーソルを載せると、

 

f:id:mocha0426:20170727133258p:plain

  

 

0.5秒かけてこうなります。

カーソルを離すと、また0.5秒かけて元に戻ります。

 

まだまだアニメーションプロパティはありますが、また今度!