HTML5の文書構造とCSS3の技法でデザインする

20130326132729

HTML5とCSS3を使うことで実現できる事

  • 画像を使わずに背景に角丸を作れる
  • 背景をグラデーションにできる
  • 背景を透過にできる
  • 背景の角度を調整できる
  • before、afterの指定ができて、指定の前に(後に)何か置く事ができる
  • 奇数番目、偶数番目に対して指定ができる

など。
practice.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Green Leaf</title>
<link rel="stylesheet" href="css/base.css" media="all">
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<style>
article section figure {
  float: right;
  margin: 0 0 15px 15px;
}
</style>
<![endif]-->
<!--[if lte IE 9]>
<style>
article section {
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#fff', endColorstr='#dfdfdf');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#fff', endColorstr='#dfdfdf')"
}
</style>
<![endif]-->
<!--[if lte IE 9]>
<style>
nav ul	{
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#777', endColorstr='#333');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#777', endColorstr='#333')";
}

article section {
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#fff', endColorstr='#dfdfdf');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#fff', endColorstr='#dfdfdf')";
}
</style>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<style>
article section figure	{
  float: right;
  margin-left: 15px;
  margin-bottom: 15px;
}
nav ul li a	{
  border-right: solid 1px #fff;
}
nav ul li a:hover {
  background-color: #017acd;
}
</style>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
</head>
<body>
<!--▼#container -->
<div id="container">
<!--▼header -->
<header id="pageheader">
<hgroup>
<h1>Green Leaf</h1>
<h2>生活を楽しくする情報をもっと身近にお届けします</h2>
<p id="billboard"><img src="img/sky.jpg"></p>
</hgroup>
<!-- ▼nav -->
<nav>
<ul>
<li><a href="#">トップ</a></li>
<li><a href="#">森の工房について</a></li>
<li><a href="#">季節のイベント</a></li>
<li> <a href="#">お問い合わせ</a></li>
<li><a href="#">ブログ</a></li>
</ul>
</nav>
<!--▲nav end-->
</header>
<!-- ▲header end-->


<!-- ▼content-->
<article itemscope itemtype="#">
<header id="postheader">
<h1 itemprop="name">森の工房について</h1>
<p id="summary" itemprop="description">Forest Studioでは、自然の中にある「森の工房」を運営しています。森の工房では、四季を通してイベントを開催したり、さまざまな商品の開発を行っています。</p>
</header>

<div itemprop="articleBody">
<section>
<h1>森の中にある工房</h1>
<figure><img src="img/photo01.jpg" alt="森の中の様子" width="250" height="165">
<figcaption>工房へ続く森の中の道</figcaption></figure>
<p> 森の工房は、木々のあふれる森の中にあります。森の入口から細い小道を通り、森の奥に進んでください。しばらくすると、森の中にある小さな丘に出てきます。その丘の上にある木造の建物が「森の工房」です。</p>
<p>この丘はちょうど森の中央に位置しており、森の中を散歩したり、自然の中で遊んだりするときにも、ちょうどいい拠点になります。森全体を見渡すことも可能で、夜は満点の星空を満喫できます。
</p>
</section>
<section>
<h1>四季を楽しむことができる場所</h1>
<figure><img src="img/photo02.jpg"  alt="冬の風景 " width="250" height="165">
<figcaption>季節ごとに変わる景色</figcaption>
</figure>
<p>森の工房では、春、夏、秋、冬と、四季折々の自然を楽しむことができます。
春には、雪解け水の中から芽を出す新しい命や、新緑の鮮やかな緑。夏には、緑濃く茂った木々の間を吹き抜けるさわやかな風に、川の清流での水遊び。秋には、森全体が赤や黄色に染まり、色鮮やかな紅葉に包まれます。木々の葉が落ち、冬になると、ここは雪に覆われて一面の銀世界になります。</p>
</section>

<section>
<h1>工房のまわりにいる動物たち</h1>
<figure><img src="img/photo03.jpg" alt="キツネさん" width="250" height="160" itemprop="image">
<figcaption>工房の近くに姿を見せた鹿</figcaption>
</figure> 
<p>工房のまわりにはいろいろな動物たちが棲んでいます。キツネ、タヌキ、イタチ、ウサギ、リス、シカ、イノシシ…。森の中で出会うこともあれば、ひょこっと工房に顔を出すこともあります。土や雪の上に残った足跡から、正体を探るのも楽しみです。</p>
<p>ただし、森の工房では彼らに餌をやることはしていません。自然にあるがままの姿で、いっしょに生活していきたいと考えているからです。彼らに出会ったときには、びっくりさせないように遠くからそっと眺めてあげてください。</p>
</section>
</div>
</article>


<!--▼footer -->
<footer>
<p><small>&copy; Green Leaf, All rights reserved.</small></p>
</footer>
<!-- ▲footer end -->
</div>
<!--▲#container-->
</body>
</html>



base.css

@charset "UTF-8";

/* reset */
html, body, div, h1, h2, h3, h4, h5, h6,p, blockquote, pre, 
address,ul, ol, li, dl, dt, dd,table, th, td, form, fieldset {
  margin: 0;
  padding: 0;
  line-height: 1.0;
  font-family:
    "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro",
    "Hiragino Kaku Gothic Pro W3",
    "メイリオ",
    Meiryo,
    Osaka,
    "MS Pゴシック",
    "MS PGothic",
    sans-serif;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
ul, ol {
  list-style-type: none; /* マーカーを消す */
}
a {
  text-decoration: none; /* 下線を消す */
}
img {
  border: 0;
}
img, input {
  vertical-align: bottom;
}

/* HTML5 */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

/* body */
body {
  font-size: 16px;
 text-align: left;
  background-color:#e5e5e5;
}

/* link */
a  {
  color: #017acd;
}

/* container */
#container {
  width: 760px;
  margin: 0 auto;
  background-color:#fff;
  padding:0 40px;
  -webkit-box-shadow:0 0 30px #bbb;
  box-shadow:0 0 30px #bbb;
  background-image:url(../img/circle.png), url(../img/circle1.png);
  background-repeat:no-repeat;
  background-position:20px 330px, 100px 410px;
  background-size:94px 94px, 30px 30px;
  position:relative;
  overflow:hidden;
}

/* header */
header#pageheader  {
  background: none;
  margin: 0 0 30px 0;
  padding: 15px 0 0 0;
}
header#pageheader h1 {
  float: left;
  font-size: 2.5em;
  font-family: 'Righteous', cursive
}
header#pageheader h2 {
  color: #666;
  font-size: 0.75em;
  font-weight: normal;
  text-align: right;
  padding: 20px 0 0 0;
}

header#pageheader#summary{
	padding-left:250px;
}
nav {
  clear: both;
}

/* nav */
nav ul {
  font-size: 0.75em;
  margin: 0 0 10px 0;
  height: 30px;
  background-color: #005087;
  border-radius:6px;
  background: -webkit-gradient(linear, left top, left bottom, from(#777), color-stop(50%, #444), color-stop(50%, #333), to(#555));
  background:-webkit-linear-gradient(#777 0%, #444 50%, #333 51%, #555 100%);
  background:-moz-linear-gradient(#777 0%, #444 50%, #333 51%, #555 100%);
  background:-o-linear-gradient(#777 0%, #444 50%, #333 51%, #555 100%);  
  background:-ms-linear-gradient(#777 0%, #444 50%, #333 51%, #555 100%);
}
nav ul li {
  float: left;
}
nav ul li a {
  display: block;
  width: 120px;
  line-height: 30px;
  text-decoration: none;
  text-align: center;
  color: #fff;
/*  background-color: #005087; */  /*このli aの背景色指定があると、左側が角丸になりません。*/
  border-right: solid 1px rgba(255,255,255,0.2);
}
nav ul li a:hover {
  background-color: rgba(1,122,205,0.3);
}

nav ul li:first-of-type a:hover{
	border-radius:6px 0 0 6px; /* 角丸順序 左上→右上→右下→左下 左上から時計回り。*/
}

/* content */
article {
  width: auto;
}

/*----------------------------------------
一世代前のWebKit系ブラウザに対応させる
------------------------------------------*/
article header{
	border:solid 1px #aaa;
	margin:20px 0 10px 0;
	padding:18px;
	border-radius:10px;
	-webkit-box-shadow:0 2px 3px #ccc, 0 0 4px 3px #fff inset;
	box-shadow:0 2px 5px #ccc, 0 0 4px 3px #fff inset;	
	background-color:rgba(255,255,255,0.4);
}

article header h1 {
  color: #000;
  font-size: 1.8em;
  font-weight: normal;
  line-height: 45px;
  background: none;
}

article section {
  clear: both;
  border:solid 1px #aaa;
  margin:20px 0 10px 0;
  padding:18px 18px 10px 18px;
  border-radius:10px;
  overflow:hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dfdfdf));  
  background:-webkit-linear-gradient(0deg, #fff 0%, #dfdfdf 100%);
  background:-moz-linear-gradient(0deg,#fff 0%, #dfdfdf 100%);  
  background:-o-linear-gradient(0deg,#fff 0%, #dfdfdf 100%); 
  background:-ms-linear-gradient(0deg,#fff 0%, #dfdfdf 100%);
  -webkit-box-shadow:0 2px 3px #ccc, 0 0 4px 3px #fff inset;  
  box-shadow:0 2px 5px #CCC, 0 0 4px 3px #fff inset;
  
}
article section h1 {
  background: none;
  font-size: 24px;
  font-weight: normal;
  line-height: 22px;
  margin: 30px 0 20px 0;
}
article p {
  font-size: 0.875em;
  line-height: 1.6;
  margin: 10px 14px 0 14px;
}

/* footer */
footer {
  clear: both;
  color: #888;
  margin: 25px 0 0 0;
  padding: 8px 0 8px 0; 
  border-top:solid 1px #aaa;
}
small:before {
	content:'GREEN LEAF';
  display: block; 
  width:200px;
  padding:10px 0;
  background-color:#800;	
  color:#fff;
  font-family:'Righteous', cursive;
  font-size: 1.0em;
  text-align: center;
  position:absolute;
  right:0;
  bottom:0;
  -webkit-transform:rotate(-45deg) translate(62px,20px);
  -moz-transform:rotate(-45deg) translate(62px,20px);  
  -o-transform:rotate(-45deg) translate(62px,20px);  
  -ms-transform:rotate(-45deg) translate(62px,20px);  
}

/* image */
figure {
  margin: 0;
}
article section:nth-of-type(odd) figure {
  float: right;
  margin: 0 0 15px 15px;
}
article section:nth-of-type(even) figure {
  float: left;
  margin: 0 15px 15px 0;
}
article section figcaption {
  color: #666;
  font-size: 10px;
  display: block;
  margin: 10px 0 0 0;
}
article section:nth-of-type(odd) figcaption {
  text-align: right;
}


header#postheader p{

}


header#postheader h1{
	padding-left:16px;
	width:280px;
}

#billboard{
	padding-bottom:5px;
}



デモ

CSSジェネレータ
CSSの指定を選択肢を選んでいくだけで簡単にソース作成してくれるWEBサービス