初歩の電子工作とデジカメの日記

電子工作備忘録とデジカメで撮影した写真のブログです。

HTML5,CSS3のお勉強 その12 ー box-sizing ー

2017-06-02 14:43:41 | study
HPやブログでboxを並べると1列に収まらずはみ出てしまうケースがあります。この問題を解決するcss3のプロパティがbox-sizingです
下記の赤ラインから赤ラインの間が作成したHTMLファイルで、スタイル部分は<head></head>内に組み込んでいます。



<!DOCTYPE html>
<html lang="ja">
<head>
  
  <title></title>
  <style type="text/css">
    div#a {
      width: 600px;
      height: 120px;
      border: 2px solid red;
      background-color: #fff;
    }
    div.left {
      width: 50%;
      height: 100px;
      padding: 20px;
      border: 10px solid blue;
      background-color: #ccc;
      float: left;
    }
    div.right {
      width: 50%;
      height: 100px;
      padding: 20px;
      border: 10px solid blue;
      background-color: #ccc;
      float: left;
    }
    div#b {
      width: 600px;
      height: 120px;
      border: 2px solid red;
      background-color: #fff;
      margin-top: 260px;
    }
    div.left2 {
      width: 50%;
      height: 120px;
      padding: 20px;
      border: 10px solid blue;
      background-color: #ccc;
      float: left;
      box-sizing: border-box;
      clear: both;
    }
    div.right2 {
      width: 50%;
      height: 120px;
      padding: 20px;
      border: 10px solid blue;
      background-color: #ccc;
      float: left;
      box-sizing: border-box;
    }
  </style>
</head>
<body>
  <div id="a">
    <div class="left">left</div>
    <div class="right">right</div>
  </div>
  <div id="b">
    <div class="left2">left2</div>
    <div class="right2">right2</div>
  </div>
</body>
</html>



* Webでの表示 *


HTML5,CSS3のお勉強 その11 ー animation ー

2017-05-29 17:57:57 | study
前回のcssプロパティ transition はマウスオーバーの時に変化するアニメーションでしたが、今回は自動で変化するアニメーションの作成です


animationとtransitionでは大きな違いがあります。大きな違いは下の2つですが、animationでは変化の仕方に細かい設定ができます。

項目animationtransition
開始のきっかけ自動マウスオーバー
繰返し可能できない

animationのプロパティはたくさん設定が可能らしいが、ここでは以下の6点に絞って実行した


  • animation-name animationの名前、@keyframesで使用
  • animation-duration 1回の実行にかける時間
  • animation-timing-function 実行中の変更速度
  • animation-iteration-count 繰り返しの数(infiniteは無限)
  • animation-direction (alternateは方向を反転させる)
  • animation-delay 実行の際のスタート待ち時間

See the Pen OmYdRr by tsuyoshi chiba (@yokopook24) on CodePen.



上の埋め込み画像の説明:
「HTMLボタン」をクリックするとHTMLソースコード画面に変わります。
「CSSボタン」をクリックするとCSSソースコード画面に変わります。
「Resultボタン」をクリックするとプレビュー画面に変わります。




HTML5,CSS3のお勉強 その10 ーtransitionー

2017-05-25 12:07:35 | study
boxが瞬時に変化するCSSとboxが滑らかに変化するtransitionプロパティを使ってみます。css3で追加されたアニメーションです。同じ画面でソースコードによる表示の変化をみるために今回は「codepen」を初めて使ってみました。codepenとはウェブ開発に必要なHTML, JS, CSSの三要素を実際の表示を見ながら開発できるコードエディターで、ブラウザー内でコードをすぐに試してみることができます。
「codepen」の詳細はググってみればたくさん出てきます。



See the Pen gWEwVJ by tsuyoshi chiba (@yokopook24) on CodePen.


上の埋め込み画像の説明:
「HTMLボタン」をクリックするとHTMLソースコード画面に変わります。
「CSSボタン」をクリックするとCSSソースコード画面に変わります。
「Resultボタン」をクリックするとプレビュー画面に変わります。この画面でboxをマウスオーバーすると上の「box」は瞬時に変化します。そして下の「box」は滑らかに変化します






CSS3のお勉強 その9 - hr 水平線 ー

2017-05-21 11:44:12 | study
前回の記事でも使っているが、ブログ記事などでコンテンツの区切りによく使用されるプロパティ”hr”はcssを使えばいろいろな装飾ができることがわかったので、早速試した
下記の赤ラインから赤ラインの間が作成したHTMLファイルで、スタイル部分は<head></head>内に組み込んでいます。




  <!DOCTYPE html>
<html>
<html lang="ja">

<head>
  
  <title>水平線の装飾</title>
  <style type="text/css">
  p {
    margin: 5px 60px; 
}
    .bar1 {
  display: block;
  width: 70%;
  height: 5px;
  background-color: #ffaaaa;
  border: 0;  /*デフォルトデザインでは線がある場合があるので、消しておく。*/
  margin-bottom: 2rem;
}
  .bar2 {
  display:block;
  width: 70%;
  height: 10px;
  border: 0;
  border: 1px solid #cacaca;
  -webkit-border-radius: 10px;
  background: #005500; /* Old browsers */
  background: -moz-linear-gradient(left,  #005500 0%, #52b152 20%, #83c783 51%, #008a00 76%, #005500 96%, #005700 100%, #005500 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right top, color-stop(0%,#005500), color-stop(20%,#52b152), color-stop(51%,#83c783), color-stop(76%,#008a00), color-stop(96%,#005500), color-stop(100%,#005700), color-stop(100%,#005500)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(left,  #005500 0%,#52b152 20%,#83c783 51%,#008a00 76%,#005500 96%,#005700 100%,#005500 100%); /* Chrome10+,Safari5.1+ */
  background: linear-gradient(to right,  #005500 0%,#52b152 20%,#83c783 51%,#008a00 76%,#005500 96%,#005700 100%,#005500 100%); /* W3C */
margin-bottom: 2rem;
}
  .bar3 {
  display: block;
  border: 0;
  width: 70%;
  height: 19px;
  background: url("img/leaf_line.png") no-repeat top center;
  -webkit-background-size: 512px 28px;
  margin-bottom: 2rem;
}
  .bar4 {
  display: block;
  width: 70%;
  height: 3px;
  border: 0;
  background-color: #aaaaaa;
} 
  </style>
</head>

<body>
<div style="margin: 5px 60px;">hr(水平線)へのいろいろな装飾はhtml文でもできるが、css文でやるのが本筋なので勉強した</div>
<p>装飾1 水平線を赤色にする</p>
  <hr class="bar1">
<p>装飾2 水平線に背景グラデーションをかける</p>
<hr class="bar2">
<p>装飾3 水平線の背景に画像を使う</p>
<hr class="bar3">
<p>装飾なし</p>
  <hr class="bar4">

</body>

</html>



*Webでの表示




HTML5,CSS3のお勉強 その8 ー円形グラデーションー

2017-05-17 11:28:17 | study
CSS3のお勉強 その8 ー radial-gradient ー
今回は前回の応用で円形グラデーションのお勉強です

円形グラデーションは円形で変化するグラデーションです
下記の赤ラインから赤ラインの間が作成したHTMLファイルで、スタイル部分は<head></head>内に組み込んでいます。




<!DOCTYPE html>
<html>
<html lang="ja">

<head>
  
  <title></title>
  <style type="text/css">
    table {
      width: 80%;
      height: 200px;
      border: none;
      border-collapse: collapse;
      margin: 2em auto;
    }

    td {
      width: 24.0%;
      height: 200px;
      padding: 1.0rem;
      box-sizing: border-box;
    }

    .space {
      width: 4%;
    }

    .gradient1 {
      font-size: 12px;
      vertical-align: bottom;
      color: white;
      background-image: radial-gradient(skyblue, blue);
    }

    .gradient2 {
      font-size: 12px;
      vertical-align: bottom;
      color: white;
      background-image: radial-gradient(at 50px 50px, skyblue, blue);
    }

    .gradient3 {
      font-size: 12px;
      vertical-align: bottom;
      color: white;
      background-image: radial-gradient(circle 100px at 50px 50px, skyblue, blue);
    }

    .gradient4 {
      font-size: 12px;
      vertical-align: bottom;
      color: white;
      background-image: repeating-radial-gradient(skyblue, blue 20px);
    }
  </style>
</head>

<body>
  <table>
    <tr>
      <td class="gradient1">領域の中心点から円形でグラデーションする</td>
      <td class="space"></td>
      <td class="gradient2">円形グラデーションの中心の位置を任意の場所へ移動する</td>
      <td class="space"></td>
      <td class="gradient3">円形グラデーションの中心を正円にする</td>
    </tr>
  </table><br>
  <table>
    <tr>
      <td class="gradient4">正円グラデーションを繰り返す</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
</body>

</html>



 * Webでの表示 *






HTML5,CSS3のお勉強 ー その7 ー線形グラデーション

2017-05-11 07:59:51 | study
CSS3のお勉強 その7 ー linear-gradient,radial-gradient ー
線形グラデーションと円形グラデーションのお勉強です

線形グラデーションのデフォルトは上から下へ変化するグラデーションです
下記の赤ラインから赤ラインの間が作成したHTMLファイルで、スタイル部分は<head></head>内に組み込んでいます。



<!DOCTYPE html>
<html>
<html lang="ja">
<head>
  
  <title>css3のお勉強6ーlinear-gradient-</title>
  <style type="text/css">
    .linear {
      width: 200px;
      height: 200px;
      margin: 5px;
      color: white;
      font-size: 12px;
      padding: 20px 10px;
      box-sizing: border-box;
      float: left;
      background-image: linear-gradient(skyblue, blue);
    }

    .linear2 {
      width: 200px;
      height: 200px;
      margin: 5px;
      color: white;
      font-size: 12px;
      padding: 20px 10px;
      box-sizing: border-box;color: white;
      font-size: 12px;
      padding: 20px 10px;
      box-sizing: border-box;
      float: left;
      background-image: linear-gradient(to top left, skyblue, blue);
    }
  </style>
</head>

<body>
  <div class="linear">上から下へグラデーション</div>
  <div class="linear2">左上へグラデーション</div>
</body>

</html>



*Webでの表示*




HTML5,CSS3のお勉強 その5 ー figure,figcaption ー

2017-04-30 09:51:38 | study
CSS3のお勉強 その5 ー figure,figcaption ー
ホームページやブログに複数の写真を載せる時にまずサムネイル画像を並べて表示するのに今までは<table>タグや<float>タグを使って結構手間が掛かる作業となっていた。最近はHTML5の仕様で<figure>タグが使えるようになり、この作業が格段と楽になった。
下記の赤ラインから赤ラインの間が作成したHTMLファイルで、スタイル部分は<head></head>内に組み込んでいます。


<!DOCTYPE html>
<html>
<html lang="ja">

<head>
  
  <title>CSS3のお勉強 その5</title>
  <style type="text/css">
    figure {
      height: 240px;
      float: left;
      /* 左に寄せて後続を右に回り込ませる */
      margin: 10px 20px 30px 0px;
      /* 外側に余白を加える(右に10px・下に30px) */
      background-color: #ccc;
      /* 背景色 */
    }

    figure img {
      display: block;
      /* 余計な余白が出ないようにする */
      margin: 0px 0px 3px 0px;
      /* 下側にだけ3pxの余白を追加 */
    }

    figcaption {
      font-size: 0.9em;
      /* 文字サイズを90%に */
      /*text-align: center;       中身をセンタリング */
      margin: 5px 20px;
      /* 説明文の余白を上に5px、左に20px空ける */
    }

    div.imagearea:after {
      /* 回り込みの解除 */
      content: "";
      /* after疑似要素にClearfixを加えることで、回り込みを解除している */
      clear: both;
      display: block;
    }
  </style>
</head>

<body>
  <div class="imagearea">
    <figure><img src="hana/Resized/sakura.jpg" alt="桜の写真">
      <figcaption>桜 200x200
        <br>今が見頃</figcaption>
    </figure>
    <figure><img src="hana/Resized/ajisai.jpg" alt="あじさいの写真">
      <figcaption>あじさい 200x200</figcaption>
    </figure>
    <figure><img src="hana/Resized/nanten.jpg" alt="南天の写真">
      <figcaption>南天 200x200</figcaption>
    </figure>
    <figure><img src="hana/Resized/cosmos200x200.jpg" alt="コスモスの写真">
      <figcaption>コスモス 200x200</figcaption>
    </figure>
    <figure><img src="hana/Resized/himawari200x200.jpg" alt="ひまわりの写真">
      <figcaption>ひまわり 200x200</figcaption>
    </figure>
    <figure><img src="hana/Resized/momiji200x200.jpg" alt="もみじの写真">
      <figcaption>もみじ 200x200</figcaption>
    </figure>
    <figure><img src="hana/Resized/ume200x200.jpg" alt="梅の写真">
      <figcaption>梅 200x200</figcaption>
    </figure>
  </div>

</body>

</html>



*Webでの表示*



css3のお勉強 その4

2017-04-27 10:51:02 | study
CSS3のお勉強 その4 ー box-shadow, text-shadow ー
文字通りボックスやテキストに影を付けるCSSです。当然画像にも影をつけて画像が浮き出る感じにできます
下記の赤ラインから赤ラインの間が作成したHTMLファイルで、スタイル部分は<head>内に組み込んでいます。

<!DOCTYPE html>
<html>
<html lang="ja">

<head>
  
  <title>CSS3のお勉強 その4</title>
  <style type="text/css">
    .test01 {
      width: 150px;
      height: 150px;
      margin: 30px;
      padding: 10px;
      box-sizing: border-box;
      background-color: #999900;
      border: 2px solid #CCFFCC;
      float: left;
    }

    .test02 {
      width: 150px;
      height: 150px;
      margin: 30px;
      padding: 10px;
      box-sizing: border-box;
      background-color: #999900;
      border: 2px solid #CCFFCC;
      box-shadow: 5px 10px rgba(5, 5, 5, 0.7);
      float: left;
    }

    .test03 {
      width: 150px;
      height: 150px;
      margin: 30px;
      padding: 10px;
      box-sizing: border-box;
      background-color: #999900;
      border: 2px solid #CCFFCC;
      box-shadow: 5px 10px 5px rgba(5, 5, 5, 0.7);
      float: left;
    }

    .test04 {
      width: 150px;
      height: 150px;
      margin: 30px;
      padding: 10px;
      box-sizing: border-box;
      background-color: #999900;
      border: 2px solid #CCFFCC;
      box-shadow: 5px 10px 5px 5px rgba(5, 5, 5, 0.7);
      float: left;
    }

    .sample {
      width: 200px;
      height: 200px;
      margin: 30px;
      border: 2px solid #CCFFCC;
      box-shadow: 5px 10px 5px rgba(5, 5, 5, 0.7);
      float: left;
    }
  </style>
</head>

<body>
  
<div class="test01">テスト1 <br>>box-shadowなし </div> <div class="test02">テスト2 <br>box-shadow:5px 10px rgba(5,5,5,0.7); </div> <div class="test03">テスト3 <br>box-shadow:5px 10px 5px rgba(5,5,5,0.7); </div> </div> <div> <div class="test04">テスト4 <br>box-shadow:5px 10px 5px 5px rgba(5,5,5, 0.7); </div> <div class="sample"> <img src="img/mt_fuji_s.jpg"> <p style="margin-top: 20px;">この画像のbox-shadowスタイルは テスト3と同じ </p> </div> </body> </html>

* Webでの表示 *





css3のお勉強 その3

2017-04-25 11:34:12 | study
CSS3のお勉強 その3 - RGBA -
RGBAカラーモデルは、今までのRGBカラーモデルのRed・Green・Blueに、A (alpha)が加わったもので、 alphaは色の透明度を表している。これにより色の濃淡を表現され、バックが透けて見えるようになる。
このHTMLではcssプログラムを<head>内に置いている



<!DOCTYPE html>
<html>
<html lang="ja">

<head>
  
  <title>CSS3のお勉強 その3</title>
  <style type="text/css">
    .test01 {
      /* 普通のbackground-color */
      color: #fff;
      background-color: #000;
      margin: 0 0 20px 50px;
      padding: 20px;
      width: 200px;
    }

    .test02 {
      /* 透過度0.5を加えたbackground-color */
      color: #fff;
      background-color: rgba(0, 0, 0, 0.5);
      margin: 0 0 20px 50px;
      padding: 20px;
      width: 200px;
    }

    .test03 {
      /* 透過度0.3を加えたbackground-color */
      color: #fff;
      background-color: rgba(0, 0, 0, 0.3);
      margin: 0 0 20px 50px;
      padding: 20px;
      width: 200px;
    }

    .example {
      /* 親ボックス */
      width: 450px;
      height: 200px;
      background-color: #85b9e9;
      position: absolute;
      top: 260px;
      left: 57px;
      padding: 5px;
      box-sizing: border-box;
    }

    .box1 {
      /* ボックス1 */
      width: 150px;
      height: 50px;
      background-color: rgb(255, 0, 0);
      position: absolute;
      top: 30px;
      left: 50px;
      padding: 5px;
      box-sizing: border-box;
    }

    .box2 {
      /* ボックス2 */
      width: 150px;
      height: 50px;
      background-color: rgb(0, 255, 0);
      position: absolute;
      top: 30px;
      left: 250px;
      padding: 5px;
      box-sizing: border-box;
    }

    .box3 {
      /* ボックス3 */
      width: 150px;
      height: 50px;
      background-color: rgba(255, 0, 0, 0.3);
      position: absolute;
      top: 100px;
      left: 50px;
      padding: 5px;
      box-sizing: border-box;
    }

    .box4 {
      /* ボックス4 */
      width: 150px;
      height: 50px;
      background-color: rgba(0, 255, 0, 0.3);
      position: absolute;
      top: 100px;
      left: 250px;
      padding: 5px;
      box-sizing: border-box;
    }
  </style>
</head>

<body>
  <div class="test01">テスト1</div>
  <div class="test02">テスト2</div>
  <div class="test03">テスト3</div>
  <div class="example">背景画像
    <div class="box1">ボックス1</div>
    <div class="box2">ボックス2</div>
    <div class="box3">ボックス3</div>
    <div class="box4">ボックス4</div>
  </div>
</body>
</html>

Webで表示した画面に注釈を加筆した。IE = v11, Chrome = v57 で確認済み





CSS3のお勉強 その2

2017-04-23 06:06:30 | study
CSS3のお勉強 その2
borderの四辺の角を丸くする。以前は画像編集ソフトで加工するしかなかった。

*HTMLファイル*
このHTMLではcssプログラムを<head>内に置いている



<!DOCTYPE html>
<html>
<html lang="ja">
  <head>
    
    <title>HTML5_CSS3 practice</title>
    <style type="text/css">
	  .kadomaru-1 {		  
  		border-radius: 20px;
      -webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
      -moz-border-radius: 20px;   /* Firefox用 */ 
  		margin: 20px;
  		border:1px solid #aaa;
  		width:150px;
  		height:150px;
  		background: #998800;
  		padding: 20px;
  		color: #ffffff;
	   }
     </style>
  </head>
  <body><div class="kadomaru-1">四辺全て角丸設定width,height 150px</div></body>
</html>


* Webでの表示 *