CSS

【CSS】textareaのリサイズを禁止する。

めも。

/* リサイズを禁止する */
textarea {
  resize: none;
}

/* 縦幅のリサイズを禁止する */
textarea {
  resize: horizontal;
}

/* 横幅のリサイズを禁止する */
textarea {
  resize: vertical;
}

 

【CSS】テキストを垂直方向に中央寄せする。

めも。

「height」と「line-height」に同一の値を指定する。

以上。

【CSS】tr要素のdisplayプロパティまとめ。

tableタグ内のtr要素を見せたり隠したりしたかった際に嵌ったのでメモ。

通常DOM要素を見せ隠ししたい場合は、displayプロパティを「none」や「block」にして操作する。

が、trのdisplayプロパティの場合「none」に対をなす値が「block」ではなく「table-row」となる。

ざっくり言うと。

■divとか

display:none / block

■tr

display:none / table-row

となる。

なので以下のようなコードを書くと表示が崩れておかしくなるので注意。

■HTML

<button type="button" class="js_btn">btn</button>

<table class="table">
<thead>
<tr><th>hoge</th><th>fuga</th></tr>
</thead>
<tbody>
<tr class="tr1"><td>ho</td><td>ge</td></tr>
<tr class="tr2"><td>fu</td><td>ga</td></tr>
</tbody>
</table>

■Javascript

<script>
$(function(){
	$('.js_btn').click(function(){
		if($('.tr1').css('display') == 'none'){
			// display:table-rowでなければならない
			$('.tr1').css({'display':'block'});
		}else{
			$('.tr1').hide();
		}
	})
})
</script>

これはボタンをクリックした際に特定のtr要素を調査し、display属性がnoneであればblockに、そうでなければnoneに変更するスクリプトであるが、この場合 において要素を再表示させたいのであれば、5行目を「$(‘.tr1′).css({‘display':’table-row’});」とする必要がある。

 

【CSS】transitionプロパティのeasingアニメーション早見表。

理想の挙動を実現しようとすると一苦労なeasingアニメーション。しかしこの難解なベジェ曲線を一瞬で生成してくれる(されてる)神サービスを見つけたのでメモ。

http://easings.net/

もうドメインからしてeasingのためだけに存在してる気合の入りよう。

アクセスすると下のような図と共にeasingアニメーションの名前一覧が表示される。マウスオーバーでアニメーションの挙動をその場で確認でき、クリックするとそのアニメーションの実装方法が詳細に表示される。

f13bb931f15f665caf339e6d8909c441

解説はそれぞれ、JS、SCSS、CSS、3つでの実装方法が記載されており、全てコピペで動いてしまうという神仕様。特にCSSでの実装はベジェ曲線を自分で描画しないといけないため知識がないと一苦労だが、このチートシートさえあれば自分のような情弱でもサクっとリッチなアニメーションを作成できてしまうのである。

これは今後ほんとにお世話になりそうだ。

 

【CSS】単語の途中でも強制改行させる方法。

デザイン的にどうしても要素からはみ出してほしくないとき用。

あと、長い英数字を連続して入力されたりしたときの対策。

div {
  /* 幅の指定は必須 */
  width: 250px;
  word-wrap: break-word;
}

幅は指定しなければ意味がないので注意。
幅が定義されていないと強制改行もなにもないので。

※spanだとうまくいかない。pだとうまくいく模様。

 

【CSS】リッチなデザインのボタンを生成してくれるサービス。

見つけたのでメモ。

ちょっとボタンが必要になったときに便利。

詳細は以下公式URLを参照されたし。
http://css-button-generator.com/

例えばこんなようなボタンが簡単につくれる。

hogepiyo

生成されたCSSは以下の通り。

.original-btn {
	font-size:22px;
	font-family:Arial;
	font-weight:normal;
	-moz-border-radius:42px;
	-webkit-border-radius:42px;
	border-radius:42px;
	border:0px solid #83c41a;
	padding:5px 40px;
	text-decoration:none;
	background:-webkit-gradient( linear, left top, left bottom, color-stop(35%, #9dce2c), color-stop(70%, #8cb82b) );
	background:-moz-linear-gradient( center top, #9dce2c 35%, #8cb82b 70% );
	background:-ms-linear-gradient( top, #9dce2c 35%, #8cb82b 70% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9dce2c', endColorstr='#8cb82b');
	background-color:#9dce2c;
	color:#ffffff;
	display:inline-block;
	text-shadow:0px 0px 20px #689324;
 	-webkit-box-shadow:inset 0px 0px 0px 0px #c1ed9c;
 	-moz-box-shadow:inset 0px 0px 0px 0px #c1ed9c;
 	box-shadow:inset 0px 0px 0px 0px #c1ed9c;
}
.original-btn:hover {
	background:-webkit-gradient( linear, left top, left bottom, color-stop(35%, #8cb82b), color-stop(70%, #9dce2c) );
	background:-moz-linear-gradient( center top, #8cb82b 35%, #9dce2c 70% );
	background:-ms-linear-gradient( top, #8cb82b 35%, #9dce2c 70% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#8cb82b', endColorstr='#9dce2c');
	background-color:#8cb82b;
}
.original-btn:active {
	position:relative;
	top:1px;
}

colorTheme、border-radius、shadow、gradient、size、といったパラメーターをマウスで選択し、ボタンの文字列、クラス名、フォントを選択するだけで自動的にCSSを吐き出してくれるという神サービス。

これは相当便利。今後めちゃくちゃお世話になりそう。いや、なります。笑

 

【CSS】縦幅を画面表示範囲外も含め100%に設定する方法。

モーダルウィンドウを出す際、バックグラウンドにwidth, height, 100%でシャドウマスクをかけたかった時のメモ。

普通に{height:100%}だけだと最初に表示(レンダリング)されている部分の高さに対して100%なので、下にスクロールするとマスクがかかっていない。

なので下記のようにしてやるとうまくいく模様(検証済み)。

html,body {
   margin:0px;
   height:100%;
}
body {
   min-height:100%;
   height:auto !important;
}

importantが肝らしい。まぁ単純に優先度を高めることで、ブラウザのエレメントスタイルなどに左右されないための施策かと思われる。

以外とやりたい場面多いので忘れないようにしよう。

IE6,7,8,9を振り分けるためのCSSハック。

メモ。

div {
    width: 22% \9; /* IE6 IE7 IE8 */
    *width: 22% /* IE6 IE7 */
    _width: 22% /* IE6 */
}
div:not(:target) {
    width: 22% \9; /* IE9 */
}

bootstrapをいじってた時にこういった記述がちらほら目に入ったので調べてみた。
IE9のみのハックは要素の擬似クラスに「:not(:target)」を指定してやるのがポイント。