illustratorでボタンを作る

CSS Sprite

CSS Spriteとは

ひとつの画像の一部分を見せながら、画像を移動させ、変化したように見せること。

今回はボタンをつくりました。

反応後はバックにグラデーションがかかるように作っています。



【HTML】

<!DOCTYPE>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>CSS Sprit</title>
<link href="css/base.css" rel="stylesheet" media="screen, print">
</head>
<body>
<div id="nav">
<ul>
<li id="home"><a href="#"><em>home</em></a></li>
<li id="food"><a href="#"><em>food</em></a></li>
<li id="drink"><a href="#"><em>drink</em></a></li>
<li id="info"><a href="#"><em>info</em></a></li>
<li id="contact"><a href="#"><em>contact</em></a></li>
</ul>
</div>
</body>
</html>

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:
		"Hiragino Kaku Gothic Pro",
		"ヒラギノ角ゴ Pro W3",
		Meiryo, 
		"メイリオ", 
		Osaka, 
		"MS P Gothic", 
		"MS Pゴシック", 
		sans-serif;
}
ul {
	list-style-type: none;
}
a {
	text-decoration: none;
}
img {
	border: 0;
}
em {
	visibility: hidden;
}

/* nav */
#nav {
	width: 800px;
	height: 60px;
	margin: 50px 0 0 50px;
}
#nav li {
	float: left;
	display: inline;
}
#nav li a {
	width: 160px;
	height: 60px;
	display: block;
	background-image: url(../images/btn1013.jpg);
	background-repeat: no-repeat;
}

/* individual */
#nav li#home a {
	background-position: left 0;
}
#nav li#home a:hover, #nav li#home a:active {
	background-position: left -80px;
}
#nav li#food a {
	background-position: -160px 0;
}
#nav li#food a:hover, #nav li#food a:active {
	background-position: -160px -80px;
}
#nav li#drink a {
	background-position: -320px 0;
}
#nav li#drink a:hover, #nav li#drink a:active {
	background-position: -320px -80px;
}
#nav li#info a {
	background-position: -480px 0;
}
#nav li#info a:hover, #nav li#info a:active {
	background-position: -480px -80px;
}
#nav li#contact a {
	background-position: right 0;
}
#nav li#contact a:hover, #nav li#contact a:active {
	background-position: right -80px

</css>


★入力メモ★

  • 【div】や【li】など、ボックス内にボックスがある場合は、
    両方にマージンを入力していても、どちらかの値の大きい方が採用されます
  • 【display : inline ;】=文字のように並べますという命令。IE対策。【float】とセットで使われる。
  • 【visibility : hidden ;】=画像の上に文字がのってる場合、この入力がないと文字on文字になる。
    他にも【off-left : -999em ;】や【display : none ;】があるが、
    visibility〜が欧米ではよく使われる。