「CSS」カテゴリーアーカイブ

日本語などの文字を { のような実体参照の数字で表す方法

日本語や、中国語や特殊文字、記号、ドイツ語などのウムラウト文字などをHTML 実態参照文字に変換

実体参照文字への変換器

実体参照文字コンバーター
実態参照と記載する場合もあるが、これは実体参照の誤字。

 
Wordなどでは表示可能だが、HTMLで表記する時にテキストやメモ帳に書くと勝手に「?」に置き換えられちゃったりする。

一例をあげると、中国語の発音を表す記号の、ピンイン(拼音)。
ピンインで「東京」と表記すると、
Dōngjīng
となる。

しかしこれをメモ帳などにコピペすると文字化けして
D?ngj?ng
となってしまう。

それを防ぐには、「ō」や「ī」の部分をテキスト上で、

ō や ī

実体参照文字で記述する必要がある。

例えば、「馄饨」は実体参照文字では、

馄饨

になる。

実態参照文字への変換器を使って、文字列を特殊参照文字に置き換え、HTMLに記述するようにしておこう。

実態参照文字への変換器が便利

実態参照文字コンバーター

この記事も読まれています

画像バナーや画像リンクをCSSでキラキラ光らせてアニメーション化し目立たせるフラッシーバナー方法

CSSだけで、jQueryもJavaScriptも使わずにバナーをキラキラしたアニメーションで修飾しよう

画像のアニメーションバナーのデモはこちら
 

必要なもの

flashystyle.css

 ↓まとめてダウンロード↓
デモセットのダウンロード

 

記述例

HTML

<head>と</head>の間で、cssとjQueryを呼び出す。

<head>
<link rel="stylesheet" type="text/css" href="css/styleflashy.css" />
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
var shinyObj = '.button a span.shiny';
var shinySpeed = 800;
var interval = 2000;
$(function() { setTimeout('shinybutton()', 500 ); });
function shinybutton(){
	$(shinyObj).animate({left:'+=630px'},shinySpeed).animate({left:'-120px'}, 0);
	setTimeout('shinybutton()',interval);
}
</script>
</head>

バナーを表示したい場所に、下記の記述を。

<div class="button">
<a href="#">
	<span class="shiny"></span>
	<span class="btn"><img src="img/banner.png" /></span>
</a>
</div>

これだけ。
「#」は、リンク先を指定すること。banner.pngは任意の画像ファイルに変更可能。

 

フラッシーバナーの解説

var shinySpeed = 800;
var interval = 2000;
$(function() { setTimeout('shinybutton()', 500 ); });
function shinybutton(){
	$(shinyObj).animate({left:'+=630px'},shinySpeed).animate({left:'-120px'}, 0);

・shinySpeed は光のエフェクトが動くスピード
・interval は光のエフェクトが出てこない時間帯の長さ
・{left:’+=630px’},shinySpeed).animate({left:’-120px’} ここは、画像バナーの横幅に合わせて変更すること。

 

flashystyle.css の
.button a
.button a span.shiny
の2か所の width:height:left:top:、のサイズも画像バナーに合わせて変更すること。

画像のアニメーションバナーのデモはこちら

この記事も読まれています

CSSだけでバナーやボタンを,アニメーションでキラキラさせる方法

CSSだけで、jQueryもJavaScriptも使わずにバナーをキラキラしたアニメーションで修飾しよう

アニメーションバナーのデモはこちら
 

必要なもの

button.css
・fontセット font-awesome.zip
DL元:fontawesome.io

 ↓まとめてダウンロード↓
デモセットのダウンロード

 

記述例

HTML

<head>と</head>の間で、cssとフォントを呼び出す。

<head>
<link rel="stylesheet" type="text/css" href="css/button.css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
</head>

バナーを表示したい場所に、下記の記述を。

<div class="btn-yuya">
  <a href="#">アニメーションバナーのデモ</a>
</div>

これだけ。
「#」は、リンク先を指定すること。

 
青いバナー、キラキラ、矢印が動くバナーはこんな感じで↓

<div class="btn-yuya is-blue is-reflection is-trembling">
  <a href="#">アニメーションバナーのデモ</a>
</div>

青いバナー、キラキラ、矢印が動くバナーのデモはこちら。
 

バナー修飾のクラス(class)解説

クラス名(記述) 説明
btn-yuya 基本クラス(色指定しなければ緑)
is-red 赤色バナー
is-blue 青色バナー
is-black 黒色バナー
is-reflection キラキラ
is-trembling バナー右の矢印を動かす
is-bounce バウンド
is-purun ぽよぽよ動く

赤色で、全てのクラスを指定して動かすアニメーションバナーのデモはこちら

 

カスタマイズ

バナーのサイズ、フォントの大きさ、バナーの色やグラデーションをカスタマイズするには、 button.css の各クラスの部分をカスタマイズすればOK。

この記事も読まれています

スマホ完全対応、IEも対応のモダンでオシャレなフォトスライダーjQuery

スマホPC対応。オシャレなフォトスライダー、モダンスライド

 

モダンスライドのデモはこちら。

CSSとjQueryだけで導入できる。

レスポンシブ完全対応。

スマホのフリック、PCのマウスクリックしながらのスライドアクション、右下のサムネイルクリック、左右の矢印でスライドを動かすことができる。

また、オートスライドも設定可能。

 
 

CSS、JSファイル、画像などのセットをまとめてダウンロードするのはこちら。

moveinimg.zip

中に入っているもので編集するもの

・js/sequence.js
オートプレイ、エフェクトの切り替え、ループなどの設定が行える。

・css/sequence-theme.modern-slide-in.css
画像の大きさ、読み込む画像の名前などを変更できる。

 
 

HTMLの<head>と</head>の間で読み込む

<link href=”css/sequence-theme.modern-slide-in.css” rel=”stylesheet” media=”all”><!– modern-slide –>
<!–[if lt IE 9]>
<script src=”scripts/respond.min.js”></script>
<![endif]–>

respond.min.js はIE対策用に必要。

順番に注意。
 
 

HTMLのスライダー部分

少し長いが、スライダー3枚分+右下のサムネイル3個分だ。

<div id="sequence" class="seq">

<div class="seq-screen">
<ul class="seq-canvas">

<li class="seq-in">
<div class="seq-model">
<img data-seq src="images/model1.png" alt="モデル1" />
</div>
<div class="seq-title">
<h2 data-seq>Modern Slide In slide1</h2>
<h3 data-seq>スマホ、タブレット、PCに対応しています。</h3>
</div>
</li>

<li>
<div class="seq-model">
<img data-seq src="images/model2.png" alt="モデル2" />
</div>
<div class="seq-title">
<h2 data-seq>slide2</h2>
<h3 data-seq>スマホのフリックでも、PCのクリックしながらのマウスアクションでもスライドしていきます。</h3>
</div>
</li>

<li>
<div class="seq-model">
<img data-seq src="images/model3.png" alt="モデル3" />
</div>
<div class="seq-title">
<h2 data-seq>簡単インストール</h2>
<h3 data-seq>誰でも簡単にインストールできて、カスタマイズも思うがまま。</h3>
</div>
</li>

</ul>
</div>

<fieldset class="seq-nav" aria-controls="sequence" aria-label="Slider buttons">
<button type="button" class="seq-prev" aria-label="Previous">Previous</button>
<button type="button" class="seq-next" aria-label="Next">Next</button>
</fieldset>

<ul role="navigation" aria-label="Pagination" class="seq-pagination">
<li><a href="#step1" rel="step1" title="slide 1へ"><img src="images/tn-model1.png" /></a></li>
<li><a href="#step2" rel="step2" title="slide 2へ"><img src="images/tn-model2.png" /></a></li>
<li><a href="#step3" rel="step3" title="slide 3へ"><img src="images/tn-model3.png" /></a></li>

</ul>
</div>

 
 

画像はデフォルトでは model1.png model2.png ….としている。

 
 

</body>の直前でjsファイルを読み込む

<script src="scripts/imagesloaded.pkgd.min.js"></script>
<script src="scripts/hammer.min.js"></script>
<script src="scripts/sequence.js"></script>
<script src="scripts/sequence-theme.modern-slide-in.js"></script>

CSS、JSファイル、画像などのセットをまとめてダウンロードするのはこちら。

moveinimg.zip

 
モダンスライドのデモはこちら。

この記事も読まれています

画面をスクロールしていくと、画像がフワッと動きながら出てくるエフェクト

画面スクロールに合わせて画像がフワッと動きながら出てくるエフェクト

 

スクロールで画像がフワッと動きながら出てくるエフェクトのデモページ
はこちら。

CSSとjQueryだけで簡単に実現できる。

 
 

用意するもの

moveinimg.js
moveinimg.css

CSS、JSファイル、画像などのセットをまとめてダウンロードするのはこちら。

moveinimg.zip

moveinimg.js の中身

$(function(){
$(‘.moveinimg’).css(“opacity”,”.1″);
$(window).scroll(function (){
$(‘.moveinimg’).each(function(){
var imgPos = $(this).offset().top;
var scroll = $(window).scrollTop();
var windowHeight = $(window).height();
if (scroll > imgPos – windowHeight + 200){
$(this).animate({
“margin”: “0px”,
“opacity”: “1”
}, 1000);
}
});
});
});

 
適当な解説:
.moveinimg のclassがついている時にまず画像を半透明にセットする。

(“opacity”,”.1″); の数字を変更することで透過度を変更できる。

if (scroll > imgPos – windowHeight + 200){ これで、画像まで200pxのところまでスクロールすると実行。

$(this).animate({
“margin”: “0px”,
“opacity”: “1”
}, 1000);
で、marginを0pxに、更に透過度を透過なしに、1秒で変更

 
 

moveinimg.css の中身の必要な部分だけ

.movein {
position: relative;
min-height: 210px;
display: block;
}
.moveinimg {
margin-left: -100px;
}

絶対に必要なのが 親要素の .movein にposition:relative;
.moveinimgの初期位置をずらしておく。→ のちのちjQueryで margin:0;に移動させる。

 
 

HTMLの<head>と</head>の間で読み込む

<link rel=”stylesheet” type=”text/css” href=”css/moveinimg.css” /><!– moveinimg –>
<script type=”text/javascript” src=”https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js”></script><!– moveinimg –>
<script type=”text/javascript” src=”js/moveinimg.js”></script><!– moveinimg –>

先ほどの、moveinimg.cssmoveinimg.jsjqueryを読み込む。

順番に注意。
 
 

フワッと表示させるHTMLのメニューの部分

<div class=”movein”>
<p class=”moveinimg”><img src=”img/image1.jpg” alt=”image1″ /></p>

画像は準備すること。

div class=”movein” の画像が最初は、半透明で、margin -100px セットされているが、スクロールするとふわっと表示される。

 
 

CSS、JSファイル、画像などのセットをまとめてダウンロードするのはこちら。

moveinimg.zip

 
スクロールしたら途中フワッと浮き出るメニューのデモページ
はこちら。

この記事も読まれています

リンクに#を入れてクリックしたら、なめらかにスクロールして移動させる方法

コピペOK。これだけで#のリンクをクリックしたら自動でスクロール移動に。もちろんスマホ対応。

リンクをタップしたりクリックしたら、パッと切り替わるのではなく、にゅるーっと動いていく#リンクがある。これを導入する方法を紹介。

なめらかスクロールのデモページはこちら

 
 

用意するもの

scroll.js
・jQueryファイル(HTMLで直接読み込むなら用意しなくてもいい)
 
 

HTMLへの記述方法

<script type=”text/javascript” src=”https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js”></script><!– scroll –>
<head>
<script type=”text/javascript” src=”js/scroll.js”></script><!– scroll –>
<head>

こんな感じで、jqueryとscroll.jsを読み込む。

あとはリンクで #xxx といつも通り記述するとなめらかにスクロールしていく。

まとめてダウンロードする場合はこちら
scroll.zip
 
 

jsファイルの内容と簡単な解説

$(document).ready(function(){
$(‘a[href*=#]’).click(function() {
if (location.pathname.replace(/^\//,”) == this.pathname.replace(/^\//,”)
&& location.hostname == this.hostname) {
var $target = $(this.hash);
$target = $target.length && $target
|| $(‘[name=’ + this.hash.slice(1) +’]’);
if ($target.length) {
var targetOffset = $target.offset().top;
$(‘html,body’)
.animate({scrollTop: targetOffset}, 1000);
return false;
}
}
});
});

上から順に、

a hrefの中に#を使っていた場合
そのハッシュ(#)をターゲットにして
なめらかにスクロールするアニメーションだよ

という意味。

.animate({scrollTop: targetOffset}, 1000);
ここの数字を大きくすればゆっくり動き、小さくすれば早く動く。
この例の1000だと、1000ミリ秒=1秒なので、1秒で目的地に到着する。

なめらかスクロールのデモページはこちら

この記事も読まれています

CSSをIEとMicrosoft Edgeにだけ適用させる5つの方法、CSS記述方法やHTML条件分岐など

IEと、Microsoft Edgeだけ形が崩れてしまったりする場合の対処法-CSS編

IEはホームページを制作する側からすると迷惑以外なにものでもない。とはいえ、無視し続けるわけにもいかないので、しぶしぶ対応するしかない。

IEに対してちゃんと動いたり表示されたりするようにする事をIEハックと言ったりするが、今回はCSSでIEハックする方法を5つ紹介。

 
JavaScriptを使ってIEハックする方法もあるが、今回はより簡単なCSSの方法を紹介。
 
 

1. CSSファイルの記述でIEハックする方法

例えば、リスト表示のされかたの違いを例に。

ul li {
margin-bottom: 5px; /* Chrome、FireFox等 */
margin-bottom: 10px\9; /* IE10以下 */
*margin-bottom: 15px; /* IE7以下 */
_margin-bottom: 20px; /* IE6 */
}

IE6 -> 下に20px空白
IE7 -> 下に15px空白
IE8 -> 下に10px空白
IE9 -> 下に10px空白
IE10 -> 下に10px空白
その他のブラウザ -> 下に5px空白

となる。

ただし、この場合はCSSを書く順番が重要

順番を間違えると、例えば margin-bottom: 5px; を一番下に書いてしまったりすると全て5pxに統一されてしまう。

CSSは上から下に読み込むのが原則なので、注意したい。
 
 

2. CSSファイルの記述で:targetを使う方法

:target はターゲット擬似クラスと呼ばれ、本来は、リンクをクリックしたら、移動先のCSSを書き換えたりするものだ。

しかしIEだけ対応していないので、これを逆に利用する。

ul li:not(:target) {
margin-bottom: 10px\9; /* IE9, IE10, \9を消せばIE11も適応 */
}

これで、:target を適用できない場合にだけ、margin-bottom が効いてくる。

IE9 -> margin-bottom: 10px
IE10 -> margin-bottom: 10px
\9 を消すと IE11 -> margin-bottom: 10px
\9 を消すと Microsoft Edge -> margin-bottom: 10px
その他のブラウザ -> 何もなし

 
 

3. CSSファイルでmediaアンカーを使う方法

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
ul li:not(:target) {
margin-bottom: 10px\9; /* IE10(\9を消せばIE11にも適用) */
}
}

-ms-high-contrast の本来の意味は、Webの表示にハイコントラストモードを使っているかの判定を行う。
-ms-high-contrast なので、マイクロソフト(つまりIE)のハイコントラストモードを判定している。

つまり、IEの場合だけCSSを読み込ませる。

-moz-high-contrasなどでFireFoxのハイコントラストモードを判定することも可能。


IE10 -> margin-bottom: 10px
\9 を消すと IE11 -> margin-bottom: 10px
\9 を消すと Microsoft Edge -> margin-bottom: 10px
その他のブラウザ -> 何もなし

 
 

4. HTMLの条件分岐で違うCSSを読み込ませる方法

CSSでなく、HTMLに書く方法。

<!–[if lt IE 10]>
<style type="text/css">
ul li {
margin-bottom: 10px; /* IE9以下 */
}
</style>
<![endif]–>

<!–[if IE 6]>
<style type="text/css">
selector {
margin-bottom: 20px; /* IE6のみ */
}
</style>
<![endif]–>

HTMLの条件分岐で、IE6やIE9以下でない場合はコメントアウトされ、IEの時にはスタイルシートを読み込む。

<!–[if lt IE 9]>
<link rel="stylesheet" href="/css/ie9style.css">
<![endif]–>

[if IE 9] でIE9のみ。
[if lt IE 10] で「10よりも下」なのでIE9以下。
となる。

ただし、IE10以上ではサポートされていない!
 
 

5. HTMLのmetaタグで、ブラウザの仕様を強制的に統一する方法

<head>内にmetaタグでブラウザの仕様を統一することができる。
ただし、CSSファイルやjsファイルの読み込みよりも上に記述する必要がある。
(CSSフィイルを読み込んだ後でブラウザ仕様を統一しても意味がない。CSSファイルを読み込む前にブラウザ仕様を統一しなければならない)

<meta http-equiv="X-UA-Compatible" content="IE=9">

これで、IE9以上を全てIE9モードで表示。

<meta http-equiv="X-UA-Compatible" content="IE=6; IE=9">

これで、IE9以上ではIE9モード、IE8, 7ではIE6モードで表示される。

 
 

全て日常的に使われている方法だが、1. 2. 3. は厳密に言うと全て「間違ったCSS記述法」であり、ブラウザの対応非対応を利用した方法だ。

今後、IE12やIEの最新版が出てきた時にどのような動きになるか読めないのが嫌なところだ。

この記事も読まれています

スクロールしたら途中から出てきて、スクロール戻すと消えるメニューを作る方法

画面をスクロールしたらふわっと出てくるメニューを作る

 

スクロールしたら途中フワッと浮き出るメニューのデモページ
はこちら。

メニューと書いたが、メニューだけでなく、単純に画像を浮かび上がらせたりページの下までスクロールした時に「ページトップへ戻る」のリンクを出したりもできる。

 
 

用意するもの

sudden.js
sudden.css

sudden.js の中身

$(function() {
var navBox = $(“#menu”);
navBox.hide();
var TargetPos = 100;
$(window).scroll( function() {
var ScrollPos = $(window).scrollTop();
if( ScrollPos > TargetPos ) {
navBox.fadeIn();
}
else {
navBox.fadeOut();
}
});
});

 

sudden.css の中身

#menu {
z-index: 1000000;
width: 100%;
position: fixed;
display: none; /*最初は非表示に設定*/
top: 20px;
right: 0;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}

絶対に必要なのが display:none; これで非表示にしておく必要がある。

それ以外は、場所や透過度、重なり順の設定などなので変更可。

 
 

HTMLの<head>と</head>の間で読み込む

<link rel=”stylesheet” type=”text/css” href=”css/sudden.css” /><!– menu途中で出てくる –>
<script type=”text/javascript” src=”https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js”></script><!– menu途中で出てくる –>
<script type=”text/javascript” src=”js/sudden.js”></script><!– menu途中で出てくる –>

先ほどの、sudden.csssudden.jsjqueryを読み込む。

順番に注意。
 
 

フワッと表示させるHTMLのメニューの部分

<div id=”menu”>
<p><img src=”img/menu.png” /></p>
<!– メニューの中身ここの<div>と</div>の間に書く –>
</div>

画像は準備すること。

div=”menu” の間の部分が全て最初見えず、スクロールでふわっと表示される。
<p><img src=”img/menu.png” /></p>
<!– メニューの中身ここの<div>と</div>の間に書く –>

この部分は任意の内容に変更可能。

 
 

CSS、JSファイル、画像などのセットをまとめてダウンロードするのはこちら。

sudden.zip

 
スクロールしたら途中フワッと浮き出るメニューのデモページ
はこちら。

この記事も読まれています

メニュー画像オンマウスで、2段目が横並びになるメニューの作り方

CSS1個とjsファイル2個で作る簡単2段メニュー

 

2段メニューデモページ

 

色々な応用ができるが、今回は、1段目のメニューは画像、1段目にオンマウスで2段目がニョロリと表れて、文字でリンクが入れれるような形。

 
 

必要なもの

まとめてダウンロードしよう → accordionmenu.zip からダウンロード。

中身:

accordion.css ← 背景色や1段目のメニューの横幅を変える時に編集する
accordion.js
jquery.min.js
・index.html ← 必要ソースは後述
・メニュー画像数個

 

上記個別ファイルは、ファイル名を変えて .txt にしているので、こちらから右クリックでダウンロード保存した場合などは、ファイル名や拡張子を .js.css なども含めて上記の状態に戻すこと。

 
 

HTMLソースコード

 
まずは <head> ….. </head> の間で CSS と js ファイルを読み込む。

<link rel=”stylesheet” type=”text/css” href=”css/accordion.css” /><!– accordionmenu –>
<script type=”text/javascript” src=”js/jquery.min.js” ></script><!– accordionmenu –>
<script type=”text/javascript” src=”js/accordion.js”></script><!– accordionmenu –>

 
 

メニューを作りたい場所で、HTMLソースを書く。
2段メニューの文字やリンク先はここに記述。

メニュー画像の横幅や背景色を変えたい時は、 accordion.css を編集。

<div id=”gnav”>
<ul>
<li><a href=”index.html” class=”n01″><span>ホーム</span></a>
<div class=”gnavList”>
<ul>
<li><a href=”リンク先1.html”>2段メニュー1</a></li>
<li><a href=”リンク先2.html”>2段メニュー2</a></li>
</ul>
</div><!– gnavList –>
</li><!– ホーム –>
~~~~~~
以下同じ形でメニューが続いて
~~~~~~
</ul>
</div><!– gnav end –>

 
 

accordion.js、jquery.min.js、accordion.cssの3つと、メニュー画像、HTMLをサーバーにアップロード

FTPソフトを使って、ホームページ上にアップロードする。

 index.html
 jsフォルダ
  accordion.js
  jquery.min.js
 cssフォルダ
  accordion.css
 imgフォルダ
  メニュー画像など

パーミッションなどは関係ないので、644などでOK。

 

2段メニューデモページ

 

この記事も読まれています

Googleマップをレスポンシブサイトに対応させる方法。スマホサイトに埋め込む時など

Googleマップをスマホサイトに埋め込むとはみ出す時の対処法

レスポンシブのスマホサイトに Google map を埋め込むと、はみ出してしまう。

これをはみ出さないようにしたい。

gmap-respon

共有から

gmap-respon2

iframeのタグをコピペする。

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d23796.650854092717!2d140.75646100404356!3d41.79423516221846!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x5f9ef46bcb8d5525%3A0xa9e4bd2d96c4d502!2z54m55Yil5Y-y6Leh5LqU56ic6YOt6Leh!5e0!3m2!1sja!2sjp!4v1460702096429" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>

 

HTMLをちょこっとだけ改造

<div class="gmap"><iframe...上のコピペソース.../iframe></div>

という感じで、 div でくくってやる。

そして普通にページに貼り付ける。

ちなみに class名の gmap は何でもOK。

 
 

CSSに追記

.gmap {
 position: relative;
 padding-bottom: 56.25%;
 padding-top: 30px;
 height: 0;
 overflow: hidden;
}

.gmap iframe,
.gmap object,
.gmap embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

 
 

これだけで、勝手にレスポンシブに対応してくれる。

コピペソースに 

width="600" height="450"

 などの記述があるが、レスポンシブ時にはこれは無視されるのでそのままでOK。

この記事も読まれています