「CSS」タグアーカイブ

スマホ完全対応、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。

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

【All Animation CSS3】CSS3だけでアニメーションや3Dエフェクトを表現できる

CSSだけで簡単にクリックエフェクトなどをアニメ化する

All Animation CSS3 オール・アニメーションCSS3とは?

スタイルシートフレームワークで、簡単にクリックやタップエフェクトをアニメーション化する方法だ。

HTMLにclassをつけるだけで実装できるので簡単。プログラミングの知識がなくてもできるので嬉しい。

超簡単な導入方法を紹介しよう。

オールアニメーションCSS3の導入方法

1. CSSとjQueryをダウンロード

右クリックで保存しよう。
all-animation.cssは「通常版」と「ミニファイド版」の2種類あるが、どちらでもOK。

all-animation.css←通常版
all-animation.min.css←minified版(軽量版)

position.css
↑画像のサイズや表示位置を変える時に編集する。

jquery-1.11.1.min.js

bootstrap.min.js

main.js

なお、.jsファイルは「.txt」としているので、ダウンロードしたら拡張子を「.js」に変更しておこう。ファイル名も確認しておこう。

・アーカイブ版 .zip (導入サンプルまとめてダウンロード)
all-animation.zip

 

 

2. CSSとjsファイルの読み込み

 

<head> と </head> の間で、cssを読み込もう。

<link rel=”stylesheet” type=”text/css” href=”css/position.css” /><!– all animation css3 –>
<link rel=”stylesheet” type=”text/css” href=”css/all-animation.min.css” /><!– all animation css3 –>

 

次に、</body>の直前辺りで、js ファイルを読み込もう。
 

<script type=”text/javascript” src=”js/jquery-1.11.1.min.js”></script>
<script type=”text/javascript” src=”js/bootstrap.min.js”></script>
<script type=”text/javascript” src=”js/main.js”></script>

これで読み込みは完成。あとは画像にclassをつけたり、するだけでアニメーションエフェクトが実装できる。
 

 

3. 画像のアニメーションエフェクト

 

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

画像の<img>のタグを div で囲んで、class にエフェクトを記入すると、その画像にアニメーションエフェクトをつけることができる。

 

記述例:

<div class="dance"><img src="img/画像名.jpg" /></div>

使用可能クラス一覧(エフェクトのデモはデモページを参考に。)

エフェクト名 クラス名
ダンス dance
回転(ジャーナル) journal
鼓動(パルス) pulse
ゆっくり鼓動 pulse-slow
ジャンプ japm
4点 four-rock
上バウンド enter-up-bounce
下バウンド enter-down-bounce
右バウンド enter-right-bounce
左バウンド enter-left-bounce
背面バウンド scale-bounce
ジャンプバウンド jump-bounce
右フリップ tree-flip-right
左フリップ tree-flip
上フリップ tree-flip-up
下フリップ tree-flip-down
左めくり flip-left-bounce
めくり rotate-flip
右めくり flip-right-bounce
上から登場 flip-top
左から登場 flip-left
右から登場 flip-right
下から登場 flip-bottom
縦めくり rotate-flip-down
ぶら下がり落ち rotate-down-bounce
回転消滅 rotate-out
点滅 flash-bang
吹き飛び bomba
ぐるぐる rotate-row
下へ網掛け legend-down
上へ網掛け legend-up
左から網掛け legend-left
右から網掛け legend-right
終幕 legend-flip
くっきり portrait-before
ぼんやり portrait-blur
そのまま scale-before

 

 

4. ボタンのアニメーションエフェクト

ボタンのアニメーションのデモページはこちら

button に data-efect= として、エフェクトのクラス名を記入するだけで、画像にアニメーションをつけることができる。

button の下で、画像を読み込んでおく。
 

 
記述例:

<div class="btns">
<button data-efect="dance">ダンス</button>
</div><!– btns –>
<div class="posi treed">
<div id="all-animation-icon">
<img src="img/all-animation.png" alt="" />
</div>
</div>

 

使用可能クラス一覧は画像のアニメーションエフェクトと全く同じ。

 

 

5. メニューのアニメーションエフェクト

メニューのアニメーションのデモページはこちら

ulやdivにクラスを付けて、簡単にアコーデオンやタブを実装可能。

個別アコーデオン
<ul class="all-animation double-acordeon">

連動アコーデオン
<ul class="all-animation acordeon">

フェードタブ
<div class="all-animation tab-panel">

スライドタブ
<div class="all-animation tab-slide-panel">

記述方法(個別アコーデオンの場合):

<ul class="all-animation double-acordeon">
<li>
<input type="checkbox" name="_double_acordeon[]" id="double-acordeon1" checked />
<label for="double-acordeon1">メニュー1
<div>内容1</div>
</label>
</li>
<li>
<input type="checkbox" name="_double_acordeon[]" id="double-acordeon2" />
<label for="double-acordeon2">メニュー2
<div>
内容2</div>
</label>
</li>
<li>
<input type="checkbox" name="_double_acordeon[]" id="double-acordeon3" />
<label for="double-acordeon3">メニュー3
<div>
内容3</div>
</label>
</li>
</ul>

 

 

その他の記述方法は、メニューのアニメーションのデモページのソース、またはall-animation.zipを参照。

 

 

6. チェックボックスのアニメーションエフェクト

 

チェックボックスのアニメーションのデモページはこちら

div にクラス名を記入するだけで、チェックボックスやラジオボタンにエフェクトを付けて、トリガーボタンなどを作れる。

記述方法:
・トリガー
<div class="all-animation triggerOnOf">
<input id="check9" name="check9″ type="checkbox" />
<label for="check9"> トリガー黄緑</label>
</div>

・ラジオボタン
<div class="all-animation box-check">
<input id="radio1" name="radio1" type="radio" />
<label for="radio1"></label>
</div>
<div class="all-animation box-check">
<input id="radio2" name="radio1" type="radio" checked />
<label for="radio2"></label>
</div>

・チェックボックス
<div class="all-animation puft-in">
<input id="check1" type="checkbox" />
<label for="check1"></label>
</div>

その他のエフェクトはメニューのアニメーションのデモページのソース、またはアーカイブ版all-animation.zipを参照。

・アーカイブ版(導入サンプルまとめてダウンロード)
all-animation.zip

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

WordPressでログインしてる時だけスタイルシートを追記する方法

WordPressで、ログイン時だけdisplay noneなどを適用し、非表示にする方法

 
 
例えば、「ログインはこちら」などを固定フッターに表示しているが、ログインした人には、固定フッターそのものを非表示にしたい場合などに便利。

 
beforelogin
↓↓↓ログインすると、固定フッターを非表示に↓↓↓
afterlogin
 

 

ちなみに、上の写真のように、固定フッターに「ログインボタン」を追加するのに便利なWordperssのプラグインはこちらの記事を参照。
固定フッターを導入する方法 ワードプレスプラグインSimple Sticky Footer
 

 

functions.phpにログイン時のみ、CSS追記をする記述を追加

 

管理画面の「外観」→「テーマの編集」→「テーマのための関数(functions.php)」 とクリックして、 functions.php に、

add_action( ‘wp_head’, ‘footer_custom’);
function footer_custom() {
if ( is_user_logged_in() ) :
echo ‘<style type=”text/css”>#sticky-footer {display: none;}</style>’;
endif;
}

と追記しよう。

add_action( ‘wp_head’, ‘footer_custom‘);
function footer_custom() {

この、footer_custom は任意の名前でOK。

これで、ログイン時のみ、ヘッダーに、「id=”sticky-footer” に対して display: none; ね」と追記することができる。
 

 

応用編、ログインしてない時だけに適用する

 

add_action( ‘wp_head’, ‘footer_custom’);
function footer_custom() {
if ( is_user_logged_in() ) :
else :
ここに非ログイン時の処理を記載
endif;
}

こんな感じで色々使える。

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

tableのthやtdをソースを変えずにCSSだけで縦並びにする方法 – レスポンシブデザイン編 –

HTMLのソースを全く変えずにtableの配置を縦並びにする方法

結論から言おう。実現可能だ。

一般にこの方法を実現したいならdivを使ってやる方がいいと言われている。その通りで、最初から作るならdivでやるべきだ。

でも、フォームのソースが元々あって、そこをどうしても変更できない場合や、CSSだけで対応する必要がある場合もあるだろう。
なので、今回はCSSだけで実現する方法を紹介。

miniiman

手軽なやつだと、position absoluteを使う方法と、 display blockを使う方法がある。

 

CSSに1つ記述を追加するだけ

 

table, tbody, tr, th, td {
display: block;
}

これだけ。
ちなみに、tfootやtheadを使っている場合は、それも含めてdisplay block してやるといい。

IE6,7,8まで含めて対応したい場合はtableのブロック要素化が効かないかもしれない。
そんな時には、
IE6,7,8,9だけCSSで違う記述を反映させる方法

この辺を参考に。

 

レスポンシブ(スマホ用とPC用で自動的に変える方法)で実装する

テーブルを縦並びにするだけなら先ほどの display blockだけで大丈夫だが、PCでは普通のテーブル、スマホでは縦並びにしたい場合の対応も考えよう。

table-normal

まず、レスポンシブデザインを考えるに辺り、メディアアンカーを覚えなければならない。

・PCで適用されるCSS

@media screen and (min-width:601px) { /*601px以上*/

この間にPC用のCSSを書く。

}

・スマホで適用されるCSS

@media screen and (max-width:600px) { /*600px以下*/

この間にスマホ用のCSSを書く。

}

という感じ。

「スマホ用」「PC用」と言っているが、本来の意味は、

「画面サイズが600以下の時はこのCSSだよ」
「画面サイズが601以上の時はこのCSSだよ」

という事だ。
数字は自分で勝手に変えてもいい。タブレットも分けたい場合などには、3つにしたりすることもできる。

@media screen and (min-width: 500px) and (max-width: 800px) {

画面サイズが500~800の間適用されるCSS。タブレット用とか?

}

でも、昨今のスマホの画面サイズからいくと、600pxで分けるのがおすすめ。

今回のスマホ時にだけテーブルを縦に並べたいなら、

@media screen and (max-width:600px) { /*600px以下(スマホ用)*/
table, tbody, tr, th, td {
display: block;
max-width: 98%; /*スマホ画面ほぼ一杯に広がる感じ*/
}
}

としてやれば、

table-sp

こうなる。PC版はそのまま。

ちなみに、 max-width:98%; とかは自由に変えてくれ。

overflow:hidden; なんかも使えるかもしれない。

メディアアンカーの外にテーブルの幅を指定している場合は、上記スマホ用CSSを追加しても効かない場合がある。その場合は

@media screen and (min-width:601px) { /*601px以上(PC用)*/
table {
width: 680px; /*PC版の横幅*/
}

という風に、PC用メディアアンカー内に移動すること。

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