可変レイアウト:レイアウトの設定

画面サイズごとのデザイン

htmlソースコード

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>html5 + css3</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="style-s.css"media="only screen and (max-width:599px)">
<link rel="stylesheet" href="style-m.css" media="only screen and (min-width: 600px)and(max-width: 979px)">
<link rel="stylesheet" href="style-l.css" type="text/css" media="screen.print">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Maven+Pro:900,400">
</head>

<body>
<section id="main">
    <header>
       <section id="title">
<h1><img src="https://lh4.googleusercontent.com/-aetAvlciFMM/UE3KkDEuaNI/AAAAAAAABVE/C4wdOHo3oe4/s16/music05-007.gif" width="50" height="50" alt="PICKUP STREAM">PICKUP STREAM</h1>
       </section><!--#titile-->
       
<section id="icon"><!--#icon-->
<ul>
<li><a href="#"><img src="https://lh4.googleusercontent.com/-c7rw4BpKaUA/UE3A5OXa40I/AAAAAAAABT0/z8n4xKNCnuY/s512/Twitter_512x512.png" width="23" height="23" alt="twitter">twitter</a></li>
<li><a href="#"><img src="https://lh4.googleusercontent.com/-2MU7HnbUmfc/UE3A5ENuxBI/AAAAAAAABTs/nPZZ8ZS411Y/s512/facebook.png" width="25" height="25" alt="facebook" >facebook</a></li>
<li><a href="#"><img src="https://lh4.googleusercontent.com/-rliReqTBqNk/UE3A5Pyi4bI/AAAAAAAABTw/4TEEP_NWzbk/s300/google_plus_logo.png" width="25" height="25" alt="google plus">google plus</a></li>
<li><a href="#"><img src="https://lh6.googleusercontent.com/-iC2BvY4MeFE/UE3A53sx6_I/AAAAAAAABT4/4977gfLtuTI/s225/images.jpg" width="20" height="20" alt="rss">RSS</a></li>
</ul>
</section><!--#icon-->

<caption class="headerimg">
<img  src="https://lh3.googleusercontent.com/-YqEnG5TVDEw/UE2_V4hSs_I/AAAAAAAABTc/G-3EGCf4Hlg/s640/futta2861.jpg" width="960" height="180" alt="">
</caption><!--headerimg-->

<nav class="menu1"><!--.menu1-->
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">CONTENT</a></li>
</ul>
</nav><!--.menu1-->
</header><!--header-->

<article id="content"><!--content-->
<section class="date">
<span>1</span>AUG
</section><!--.date-->
<h2>文章のタイトル</h2>

<section class="cat">
CATEGORY: <a href="#">海と海岸と空</a>
</section><!--category-->

<p>海岸には砂や貝殻しかないように思ってしまいますが、よく見ると草花も生えていることがわかります。ただし、海水や潮風、強い日差しなどの影響で、大きく育つものは見当たりません。その多くは小さく、地を這って伸びています。</p>
<p><img src="https://lh3.googleusercontent.com/-iKg_mlXT7nw/UE2_WKjJnLI/AAAAAAAABTg/ZfF1TBxKEEo/s640/futta0574.jpg" width="550" height="300" alt="深海のガラスの結晶画像"></p>
<p>こうした植物は「海浜植物」と呼ばれ、砂をかぶって埋もれても、茎が伸びてまた葉を出す仕組みになっています。</p>
<p>ところどころに顔を出す緑色の小さな葉っぱは、海岸をかわいくデコレーションしてくれます。海への道中で踏んづけてしまう前に、足元にあるものを観察してみるのもおもしろいですよ。</p>
</article><!--.content-->
<aside>
<section class="side">
<h3>CATEGORIES</h3>
<ul>
<li><a href="#">山と森林</a></li>
<li><a href="#">海と海岸と空</a></li>
<li><a href="#">都市と建築</a></li>
<li><a href="#">地下</a></li>
</ul>
</section><!--.side-->
<section class="subside">
<h3>RECENT POSTS</h3>
<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>
<li><a href="#">高層ビルと風の関係</a></li>
</ul>
</section><!--.subside-->
</aside>
<footer>
<p>PICKUP STREAM</p>
<small>copyright &copy: PICKUP STREAM, all rught reserved.</small>
</footer>
</section><!--main-->
</body>
</html>

style-l.css

@charset="UTF-8";

body{
	  margin: 24px 10px;
		font-family: 
		       "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
}
@media only screen and (min-width: 600px)and(max-width: 979px){
     #main{
			     width: 100%;
			}	
}
@media only screen and (max-width: 599px){
     #main{
			     width: 100%;
			}	
}

#main{
	  width: 960px;
		margin: auto;
}
header{
	   margin: 0 0 50px;
}

#content{
	  width: 600px;
		float: left;
		margin: 0 0 50px;
}
aside{
	  width: 300px;
		float: left;
		margin: 0 0 50px;
}
footer{
	  clear: both;
}

#title{
	 float: left;
}
#title h1{
	  margin: 0;
		line-height: 1;
}

#icon{
	   float: right;
		 text-align: right;
}
#icon ul{
	  margin: 0;
		padding: 3px 0 0;
}
#icon li{
	   display: inline;
		list-style-type: none;
}
#icon img{
	  border: none;
}
#headerimg img{
	   vertical-align: bottom;
}

nav{
	  font-family: Verdana, Geneva, sans-serif;
		font-size: 14px;
		overflow: hidden;
		border-top: solid 1px #fff;
		background-color: #000;
}
nav ul{
	  margin: 0;
		padding: 0;
}
nav li {
	  list-style-type: none;
		float: left;
}

nav li a {
	   display: block;
		 width: 120px;
		 padding: 6px 0;
		 border-right: solid 1px #fff;
		 color: #fff;
		 text-align: center;
		 text-decoration: none;
}
nav li a: hover{
	   background-color: #0097d8;
}

.date{
	   float: right;
		 background-color: #0097d8;
		 padding: 8px 22px;
		 border-radius: 55px/48px;
		 text-align: center;
		 font-family: Arial, Helvetica, sans-serif;
		 font-weight: bold;
		 color: #fff;
}
.date span{
	  display: block;
		font-size: 32px;
		line-height: 1.0;
}
#content h2{
	  font-size: 28px;
		border-bottom: solid 1px #aaa;
		margin: 0 0 6px;
		padding: 0 0 3px;
}
.cat{
	   font-size: 14px;
		 color: #666;
}
.cat a{
	   text-decoration: none;
		 color: #666;
}
#content p{
	   line-height: 1.6;
}
.subside{
	  margin-bottom: 50px;
}
.subside h3{
	font-family:"Arial Black", Gadget, sans-serif;
	   font-size: 26px;
		color: #66c1e8;
		margin: 0 0 5px;
}
.subside ul{
	   margin: 0;
		 padding: 0;
		 border-top: solid 1px #aaa;
}
.subside li{
	margin-bottom: 0;
	list-style-type: none;
	border-bottom: solid 1px #aaa;
}
.subside li a{
	  display: block;
		font-size: 14px;
		text-decoration: none;
		color: #666;
		padding: 10px 0 10px 20px;
		backgournd-image: url();
		background-repeat: no-repeat;
		background-position: 0 50%;
}
.subside li a: hover{
	   background-color: #b4f0ff;
}

footer{
	font-family:"MS P明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	color: #fff;
	background-color: #000;
	padding: 10px 10px 20px;
}
footer p{
	  margin: 0;
}
footer{
	  font-size: 12px;
		font-weight: bold;
		display: block;
}

Captcha

位置情報を取得してgooglemapに表示 javascript

HTML ソースコード

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" >
<title>i phone androidでの位置情報の取得</title>
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<link rel="stylesheet" type="text/css" href="ccc9.css">
<script src="ddd4.js" type="text/javascript"></script>
</head>
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
</html>

ddd4.js
javascriptソースコード

// JavaScript Document

//緯度経度用変数の初期化
var latitude ="";
var longitude ="";

//正常に緯度経度が取得できたときの関数
function successFunc(e){
	
//前の緯度経度と比較して変わったら地図の更新
if ((e.coords.latitude != latitude) || (e.coords.longitude != longitude)
){
	
// 緯度取得
latitude = e.coords.latitude;

//経度取得
longitude = e.coords.longitude;

//緯度経度の設定
var myLatLng = new google.maps.LatLng(latitude,longitude);

//オプションを設定
var myOptions = {
	 zoom: 15,
	 center: myLatLng,
	 mapTypeId: google.maps.MapTypeId.ROADMAP
	};

	//地図の生成,表示
	var map = new
	google.maps.Map(document.getElementById("map_canvas"),
	myOptions);
	//マーカーの表示
		var marker = new  google.maps.Marker({
		position: myLatLng,
		map: map,
		draggable: true,
		title:"現在地"
		});
	}
}

//i phone android端末の検出 デバイスにあわせた画面表示

function detectBrowser() {
  var useragent = navigator.userAgent;
  var mapdiv = document.getElementById("map_canvas");
    
  if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1 ) {
    mapdiv.style.width = '100%';
    mapdiv.style.height = '100%';
  } else {
    mapdiv.style.width = '600px';
    mapdiv.style.height = '800px';
  }
}

//エラー時の関数

function errorFunc(e){
  switch(e.code){
	case 1:
	alert("エラー:GPSの利用が許可されていません。GPSを使えるように設定してください。");
	break;
	case 2:
	alert("エラー:位置情報が取得できませんでした。");
	break;
	case 3:
	alert("エラー:タイムアウトしました。");
	break;
	default:
	alert("エラー:位置情報を表示できませんでした。");
	break;
	}
}
navigator.geolocation.watchPosition(successFunc, errorFunc);


ccc9.css
CSSソースコード

@charset "utf-8";
/* CSS Document */
html,body{
     margin: 0;
		 padding: 0;
		 height: 100%;
		 
}
#map_canvas{
    height: 640px;
    width: 640px;
}

その時に調べた現在地

位置情報取得 javascript 

[successFunc]

アクション成功時に行う関数
アクションは非同期で呼び出され この関数を呼び出した後に何らかの処理を行っても アクションが完了している保証はありません。 アクションが完了していることを前提とする処理は 必ずsuccessFuncで行うようにします。
successFuncには引数としてアクションの実行結果が渡される。

「latitude」
緯度(-180〜180)度
「longitude」
経度(-90〜90)度
「altitude」
高度 m
「accuracy」
緯度・経度の誤差 m
「altitudeAccuracy」
高度の誤差 m
「heading」
方角(0〜360)度
「speed」
速度 m/秒
「getCurrentPosition」
ユーザーの現在の位置情報を一度取得
「watchPosition」
ユーザーの位置情報を定期的に監視
「clearWatch」
watchPosition()による位置情報の監視をクリアする

htmlソースコード

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>i phone 4sでの位置情報の取得</title>
<script src="ddd3.js"></script>
<meta name="viewport" content="initial-scale=1.0,user-scalable="no">
</head>
<body>
<div id="gps">GPS</div>
</body>
</html>

javascriptソースコード

// JavaScript Document

function successFunc(e){
  var gps = document.getElementById("gps");
  gps.innerHTML = ("Lat:" + e.coords.latitude + "long:" + e.coords.longitude);
}
//エラーのとき
function errorFunc(e){
var gps = document.getElementById("gps");
switch(e.code){
case 1:
gps.innerHTML = "エラー:GPSの利用が許可されていません。GPSを使えるようにして下さい。";
break;
case 2:
gps.innerHTML = "エラー:位置情報が取得できませんでした。";
break;
case 3:
gps.innerHTML = "エラー:タイムアウトしました。";
break;
default:
gps.innerHTML = "エラー:位置情報を表示できませんでした。";
break;
}
}
navigator.geolocation.watchPosition(successFunc, errorFunc);

現在の位置情報 (緯度経度)

「DirectionsService」

ディレクション(道案内)サービス。
リクエストの要求、計算された結果。
またDirectionsRenderer オブジェクトで直接地図に描画することができる。

「origin」
LatLng | String(必須)
ルートの計算を開始する、開始位置を指定。

destination
LatLng | String (必須)
ルートの計算の終了位置を指定します。

「unitSystem:DirectionsUnitSystem.METRIC,」
単位のkm表示

「optimizeWaypoints」 Boolean (省略可能)
指定された waypoints を使用するルートを最適化して、最短ルートを取得するよう指定します。true の場合、ルート サービスは並べ替えた waypoints を waypoint_order フィールドに返します 。

google map API [javascript]

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&language=ja"></script>
<title>google map API javascript</title>

<!--メイン処理-->
<script type="text/javascript">

<!--地図初期化-->
function initialize(){
	
<!--緯度経度を指定-->
var latlng = new google.maps.LatLng(51.462643882177574,-0.11486291885375977)	;

<!--プロパティ設定-->
var myOption = {
	
<!--ズーム指定 017-->
	zoom: 14,
	
	<!--地図の中心を指定-->
	center: latlng,
	
	<!--地図タイプ-->
	mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	
	<!--地図プロパティ設定ここまで-->
	
	<!--canvasとの結びつけ-->
var map = new
google.maps.Map(document.getElementById("map_canvas"),
myOption);

<!--中心にマーカー表示-->
var marker1 = new google.maps.Marker({
	  position: latlng,
		title: "Brixton in LONDON"
	});
	marker1 .setMap(map);
	
	<!--マーカーの追加-->
	var myLatlng = new google.maps.LatLng(51.458750093585785,-0.11332333087921143);
	var marker2 = new google.maps.Marker({
		position: myLatlng,
		title: " a homestay"
	});
	marker2.setMap(map);
	
	<!--マーカーをクリックしたら情報ウィンドウを表示-->
	
	var marker1text = 'ここが<span style="color: #545454;">「Brixton station」</span>です'
	var infowindow1 = new google.maps.InfoWindow({
		 content: marker1text,
		 maxWidth: 200
		});

		google.maps.event.addListener(marker1,'click',function(){
		 	infowindow1.open(map,marker1);
		});
		
var marker2text = 'ここが<span style="color: #545454;">「HOMESTAY先」</span>です'
	var infowindow2 = new google.maps.InfoWindow({
		 content: marker2text,
		 maxWidth: 200
		});

		google.maps.event.addListener(marker2,'click',function(){
		 	infowindow2.open(map,marker2);
		});
	}
</script>
</head>

<body onload = "initialize()">
<!--地図の描画-->
<div id="map_canvas" style="width: 600px; height: 450px;"></div>
<h2>Brixton in LONDON</h2>

<p>以前に留学していたときに住んでいた場所です。
black musicを聴くためだけに行っていたのであえて
一番black peopleの人口が多い場所をえらびここになりました。
罵倒されたこともありますが住みやすい場所でした。<br />
最寄の駅からホームステイ先の家までのマーカーです。
</p>
</body>

</html>

マーカー表示2箇所

吹き出しあり

様々なAPI機能 php2

単語集
API
(Application Program Interface)

「require_once」
require とほぼ同じ意味ですが、 ファイルがすでに読み込まれているかどうかを PHP がチェックするという点が異なります。 すでに読み込まれている場合はそのファイルを読み込みません。

cURL
Client for URLsからきていて
いろいろな通信プロトコルを用いてデータを転送するライブラリやコマンドを提供するプロジェクト。

WebSearchServiceの使い方

<p>「http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch」</p>

まず上記部分をYahoo! APIで提供されているWeb検索サービスでひろってくる。
上記URLの後ろに「?」をつけて、その後ろにパラメータを「&」でつなげたURLを作ることでWeb検索サービスを利用できる。

rakuten link share php1

rss,php

<?php 
require_once("function2.php");
$url="http://www.linkshare.ne.jp/index.xml";
//echo $url;
$xml=simplexml_load_file($url);
$hits=$xml->channel->item;
?>
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>リンクシェアサイトの最新情報一覧</title>
</head>
<body>
<p></p>
<ul>
<?php foreach($hits as $hit){ ?>
<li><a href="<?php echo h($hit->link); ?>">
<?php echo h($hit->title); ?></a></li>
<?php }?>	
</ul>
</body>
</html>

function2.php

<?php
//htmlspecialchars : 文字列中のHTMLを無効化します
function h($str)
{
    $str=htmlspecialchars($str,ENT_QUOTES);
		     $str=str_replace("&amp;lt;!--","<!--",$str);
				 $str=str_replace("--&amp;gt;","-->",$str);
				 return $str;
}
?>

CAPTCHA