CSSフレームワークとは、HTMLタグにクラスを適用するかたちで美麗なビジュアルを実現できるようにしたもので、css、js、images等のファイルセットとして各公式サイトから配布されています。大半がオープンなものです。
以下のページで「Download bootstrap」を選んでください。
http://getbootstrap.com/getting-started/#download
解凍すると bootstrap-x.x.x-dist というフォルダができて、
その中にcss、js、fontsの3つのフォルダが見えると思います。
必要なファイルは、以下のものだけです。その他はなくてもOK。
このフォルダ内に Bootstrapの記述ルールに沿って書かれたHTMLファイルを置く・・というかたちでサイトを作ります。
以下のコードは Basic template のコメントを削除して、簡単に書いたものです。これを index.htmlとして、上記のフォルダの中に置いてみて下さい。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap 101 Template</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<h1>Hello, world!</h1>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
このテンプレートでは「Hello, world!」と表示されるだけです。実際には、<body>内に具体的な記述を行って、各要素に class を指定することで、スタイルが適用されるようになります。以下、サンプルを2つ紹介します。
ナビゲーションをヘッダーに固定した形で、レスポンシブになっています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<title>Bootstrap Sample</title>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#SiteNavigator" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">MyGallery</a>
</div>
<div class="collapse navbar-collapse" id="SiteNavigator">
<form class="navbar-form navbar-right">
<div class="form-group">
<input type="password" placeholder="Search" class="form-control">
</div>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">ABOUT</a></li>
<li><a href="#">GALLERY</a></li>
<li><a href="#">LINK</a></li>
</ul>
</div>
</div>
</nav>
<div class="jumbotron">
<div class="container">
<h1>Sample Site</h1>
<p>This is a sample page using Bootstrap ・・</p>
<p><a class="btn btn-default btn-lg" href="http://www.lipsum.com/" role="button">Lorem Ipsum »</a></p>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-4">
<h2>Title01</h2>
<p>Lorem ipsum dolor sit amet, ・・</p>
<p><a class="btn btn-primary" href="#" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<h2>Title02</h2>
<p>Nunc euismod elementum odio.・・</p>
<p><a class="btn btn-primary" href="#" role="button">View details »</a></p>
</div>
<div class="col-md-4">
<h2>Title03</h2>
<p>Vivamus porta, ligula id pretium commodo, ・・</p>
<p><a class="btn btn-primary" href="#" role="button">View details »</a></p>
</div>
</div>
<hr>
<footer>
<p>© YourName http://example.com</p>
</footer>
</div>
</body>
</html>
body {
padding-top: 50px; /* fixed navbar 50px */
padding-bottom: 20px;
}
.jumbotron{
background: orange;
}
シングルページ、3セクションのサンプルです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>SinglePage Sample</title>
<script src="js/jquery.js"></script>
<script src="js/jquery.smooth-scroll.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#SiteNavigator">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">MyGallery</a>
</div>
<div class="collapse navbar-collapse" id="SiteNavigator">
<ul class="nav navbar-nav">
<li><a href="#about">About</a></li>
<li><a href="#gallery">Gallery</a></li>
<li><a href="#links">Links</a></li>
</ul>
</div>
</div>
</nav>
<header class="jumbotron">
<div class="container">
<h1>Sample Page</h1>
<p>This is a sample page using Bootstrap </p>
</div>
</header>
<section id="about">
<div class="container">
<div class="row">
<article class="col-md-8">
<h1>ABOUT</h1>
<p class="lead">Single Page Website Powerd by Bootstrap</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</article>
<aside class="col-md-4">
<h2 class="lead">bookmarks</h2>
<nav>
<ul>
<li>FineArts & MediaSciences
<li>Photography & ImagingArts
<li>VisualDesign
<li>LivingEnvironmentDesign
<li>SocialDesign
</ul>
</nav>
</aside>
</div>
</div>
</section>
<section id="gallery">
<div class="container">
<div class="row">
<article class="col-md-8">
<h1>GALLERY</h1>
<p class="lead">Sample Image Gallery</p>
<div class="col-md-3">
<img class="thumb" src="images/monalisa.jpg">
<p class="notes">
La Gioconda (1519)<br>
Leonardo da Vinci<br>
30 × 21 inch<br>
</p>
</div>
<div class="col-md-3">
<img class="thumb" src="images/monalisa.jpg">
<p class="notes">
La Gioconda (1519)<br>
Leonardo da Vinci<br>
30 × 21 inch<br>
</p>
</div>
<div class="col-md-3">
以下同様
</div>
</article>
<aside class="col-md-4">
<h2 class="lead">bookmarks</h2>
内容省略
</aside>
</div>
</div>
</section>
<section id="links">
<div class="container">
<div class="row">
<article class="col-md-8">
<h1>LINKS</h1>
<p>内容省略</p>
</article>
<aside class="col-md-4">
<h2 class="lead">bookmarks</h2>
<p>内容省略</p>
</aside>
</div>
</div>
</section>
<hr>
<footer>
<div class="container">
<div class="row">
<div class="col-md-12">
<p>© YourName http://example.com</p>
</div>
</div>
</div>
</footer>
<script>
$('a').smoothScroll();
</script>
</body>
</html>
body {
margin-top: 50px;
}
section {
padding-top: 75px;
}
.thumb {
width: 100%;
margin-bottom: 16px;
}
.notes {
width: 100%; font-size: 10px; line-height: 150%; }
以下、基本的なルールについて概説します。
<div class="container bg-info"> container </div>
<div class="container">
<div class="row">
<div class="col-lg-8">column 8</div>
<div class="col-lg-4">column 4</div>
</div>
</div>
タグを適正に使用したHTML文書であれば、bootstrap.cssを読み込むだけで、美麗な表示が実現しますが、各要素に様々なクラスを指定することで、ビジュアルを簡単に変化させることができます。
<h1>Title <small>Sub Title</small></h1>
<p class="lead">リード文の記載</p> <p>本文記事の記載・・・・・・</p>
<p class="text-left">左寄せテキスト</p> <p class="text-center">中央寄せテキスト</p> <p class="text-right">右寄せテキスト</p> <p class="text-justify">両端揃えテキスト</p> <p class="text-nowrap">改行禁止テキスト</p>
<ul class="list-unstyled"> <li>home</li> <li>gallery</li> <li>links</li> </ul>
<button class="btn btn-default">Default</button> <button class="btn btn-primary">Primary</button> <button class="btn btn-success">Success</button> <button class="btn btn-info">Info</button> <button class="btn btn-warning">Warning</button> <button class="btn btn-danger">Danger</button> <button class="btn btn-link">Link</button>
多数の記事がありますが、以下頻繁に話題となる記事です。
以下、様々なサンプルが紹介されています。
http://getbootstrap.com/getting-started/#examples
すべてのサンプルを含んだ圧縮ファイルは以下からダウンロードできます。
https://github.com/twbs/bootstrap/archive/v3.3.7.zip 2016.11.04現在
フォルダ内の docs > example と辿ると、その中に20個ほどのサンプルがあって、それぞれに、index.htmlとそれぞれ独自のCSSがあります。
その他参考
Material Design とは、2014年にGoogleが提唱した UI/UX デザインのための基礎概念です。Googleがそのガイドラインを発表して以降、Google androidを中心にその成果を目にすることも多くなってきました。
以下、それに基づいて設計されたCSSフレームワークです。
以下のページに概要説明とサンプルを掲載しています。