LoginSignup
6
6

More than 5 years have passed since last update.

CSS3入門

Last updated at Posted at 2014-06-01

URL

CSS3入門 (全19回) - プログラミングならドットインストール

内容

01 CSS3とはなにか

  • 特徴
    • 多彩な色の表現
    • W3Cが策定中なので、標準化されてない。
    • 各ブラウザが先走って対応しているので、ブラウザによって実装が異なる。

02 ベンダプレフィックス

border-radius: 5px;

これは、chrome, safariでは

-webkit-border-radius: 5px;

firefoxでは

-moz-border-radius: 5px;

operaでは

-o-border-radius: 5px;

ieでは

-ms-border-radius: 5px;
  • ↓を使うと、使用するオプションが、ベンダプレフィックスを使わなくても使えるかどうか分かる。

Can I use... Support tables for HTML5, CSS3, etc

03 角丸をつけてみよう

border-radius: 10px;
border-top-right: 10px;

04 角丸を使ったテクニック

border-radius: 50%;

とすると、円になります。

border-radius: 50%;
background-iamge: url(~~~~);

とかすると、画像の切り抜きができるわっしょい

05 色の指定と透明化

いままでは
css
background-color: #ff0000

とかって指定できたけど、css3では

rgba(0,0,0,0.7);

aは透明度

opacity: 0.4;

とかすると、要素の透明度を指定できる

06 ボックス要素に影をつけてみよう

box-shadow: x座標px y座標px ぼかしの大きさpx rgba(0,1,2,0.3) inset(内側に影);

また , 区切りで複数影の指定できる

07 テキストに影をつけてみよう

text-shadow: 5px 5px 3px 3px

08 線形グラデーションをつけてみよう

backgournd: linear-gradient(開始色 10%, 中間色20%, 最終色)
backgournd: linear-gradient(開始位置(right, 45degなど)開始色 10%, 最終色)

※IE非対応、ベンダプレフィックス必須

09 円形グラデーションをつけてみよう

radial-gradient(座標(top right, 10px 10pxなど), circle, 開始色, 終了色)

10 要素を変形させてみよう(1)

transform: scale(横方向, 縦方向)// 拡大縮小
transform: scaleZ(横方向)// Z方向に拡大
transform: scale3d(x,y,z)// Z方向に拡大
transform-origin:0 0 // 拡大縮小起点

11 要素を変形させてみよう (2)

transform: transrate(x, y); //移動
transform: rotate(45deg); //回転
transform: skew(34deg); //傾斜

12 簡単なアニメーションをつけてみよう

transition-propaty: all //アニメーションの対象になるもの(heightとか普通はall)
transition-duration: 1s // アニメーションにかかる時間
transition-timing-function: ease /*linear, ease-in, ease-out,ease-in-out*/
transition-delay: 2s; // 何秒後に実行するか

これらはtransitionでまとめて実行できるよ

時間が2つ出てきたら最初にdurationとみなす

13, 14 キーフレームでアニメーション (1)

animation-name: animationの名前
animation-duration: アニメーションにかかる時間
animation-timing-function: アニメーションの種類
animation-delay: アニメーション開始の時間
animation-iteration-count: アニメーションの繰り返し指定
animation-direction: normal(フツーにアニメーション), alternate(アニメーションのあと逆に戻る)

@-webkit-keyframes animationTest {
0% {width 50px;}
50% {widht: 100px;}
100% {width: 200px;}
}

15 属性セレクタを使ってみよう

a[href="http://google.com"]

これは

a[href^="http"]  //先頭一致
a[href$="com"]   //末尾一致
a[href*="google.com"] // 文中一致

というように、ワイルドカードで書けたりする。

16 n番目に来る要素を指定する

/* nth-child */

div p:nth-child(2) {
}

div要素内の2番目の要素がp要素だった場合、適応される。

odd, evenで偶数、奇数が指定できる。

また、(3n)とか(3n+1)なんてこともできる。

最初と最後を指定する場合は

div p:first-child {
}
div p:last-child {
}

一つだけの要素に適用したい場合は
css3
div p:only-child {
}

とする。

17 ある要素のうち、n番目に来る要素

nth-of-type: 要素を指定して何番目、という指定が可能

div p:nth-of-type(2)

これは、p要素のみをカウントして指定できる。

div p:first-of-type

最初のp要素に対して指定

div p:last-of-type

最期のp要素に対して指定

div p:only-of-type

p要素が一つだけの場合適応

18 要素の状態で指定するセレクタ

  • disabledに対して
input[type="text"]:disabled {

}
  • enabled ``` input[type="text"]:enabled {

}
```

  • checked

    input[type="text"]:checked + label {
    }

  • は同列の要素を指定
    この場合、ラジオボタンのチェックの入った同列のlabel要素に対して指定する

19 CSS3のジェネレータを見てみよう

  • css3 3.0 Maker
  • border-radius.com
  • CSS Button Generator
  • colorzilla/gradient-editor
6
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6