角丸入力フォームの作り方

このエントリーを含むはてなブックマークはてなブックマーク - 角丸入力フォームの作り方 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク このエントリをつぶやくこのWebページのtweets newsing it! Googleブックマークに追加 Bookmark this on Delicious


角丸の入力フォームを作るにはいくつかの方法がある。

通常入力フォームは

と、こんなふうに角が直角である。
このテキスト入力フォームの角を角丸に変え、見映えよくしてみます。

 

(1)画像を使ってテキスト入力フォームを角丸にする方法

(A) inputの外側に画像背景を置く方法

[手順]

まず角丸の画像を用意します。なお、この画像の縦幅はinputの縦幅よりも大きい方が調整がしやすい。

角丸入力フォーム用画像

その画像をinputの外側のボックス背景として使用し、ボックス内にinputを配置。inputの枠線を消せばとりあえずOK。


<style type="text/css">
#sample {
    width:300px;
    height:35px;
    background-image:url(image/kadomaru.gif);
    background-repeat:no-repeat;
}

#sample input{
   width:240px;
   height:20px;
   margin:5px 0;
   padding-top:4px;
   padding-left:1em;
   font-size:16px;
   border-width:0;
   border-style:none;
   background:transparent;
}
</style>

<div id="sample">
<input type=text name=hoge value="お名前をご記入ください。" size="38" />
</div>

注意したいのはボックス内の縦中央にinputを配置することです。そしてinput内の文字の縦位置が中央からずれないようにinputの縦幅と文字の大きさを調整する必要があります。

(B) 1枚画像を使ってinputの内側の背景に角丸画像を使用する方法

これは先ほどとは逆にinput自身の背景に角丸画像を使用する方法です。

[手順]

input.sm2{
	   margin:0;
	   width:243px;
	   height:26px;
	   padding-left:1em;
	   padding-top:8px; /*firefoxでは有効ですがoperaではずれます*/
	   font-size:16px;
	   border-width:0;
	   border-style:none;
	   background-image:url(image/kadomaru.gif);
	   background-repeat:no-repeat;
}

<p>
<input type=text name=hoge value="お名前をご記入ください。" size="38" class="sm2" />
<p>

このやり方は調整が結構面倒で、お勧めできません。
operaでの文字の縦位置のズレが出ます。operaを気にしないのであれば十分この方法も使えます。

CSS3でつくる角丸画像

CSS3では画像を使わないで角丸フォームが簡単に作れます。
しかし、CSS3はIEを除くモダンブラウザでは対応していますが、実際のユーザーの利用環境は依然としてIE6、IE7が大半を占めており、現実的な対応策とはいえないのが現状です。
 

input{
  border:1px solid #525252;     /* 枠線の装飾 */
  background-color: #fff;   /* 背景色 */
  border-radius: 20px;         /* CSS3 */
  -moz-border-radius: 20px;    /* Firefox */
  -webkit-border-radius: 20px; /* Safari,Chrome */

このCSS3をつかった方法はIEやOPERAでは非対応です。
IEでは「border-radius.htc」というファイルをダウンロードして、CSSに一行追加すれば実現できます。

input{
  border:1px solid #525252;     /* 枠線の装飾 */
  background-color: #fff;   /* 背景色 */
  border-radius: 20px;         /* CSS3 */
  -moz-border-radius: 20px;    /* Firefox */
  -webkit-border-radius: 20px; /* Safari,Chrome */
 behavior: url(border-radius.htc); /*for IE ← この1行を追加*/

この場合、CSSは外部ファイルにしておき、CSSファイルと同じフォルダ内に
border-radius.htcを入れておきます。
border-radius.htcのダウンロード先 → CSS curved corner

 

デモをみる

 

※上記デモではCSS3を使った角丸においてはIE非対応です。

カテゴリー: CSS | タグ: , , | コメントをどうぞ

HTML5タグ一覧

このエントリーを含むはてなブックマークはてなブックマーク - HTML5タグ一覧 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク このエントリをつぶやくこのWebページのtweets newsing it! Googleブックマークに追加 Bookmark this on Delicious

モダンブラウザやスマートフォンの普及のなかで、徐々にHTML5の重要性が高まりつつある。

html5ではhtml4まで使われていたタグのうち廃止になったもの、継続になったもの、新たに追加されたものがある。
ということで、タグ一覧を整理してみた。

以下、abc順に表にしてみました。赤文字はhtml5になり新規に加わったタグです。

要素 意味・機能
a リンクの設定
abbr 省略語・頭文字を示す際に使用
address 問い合わせ・連絡先に使用
area イメージマップのハイパーリンク領域の設定
article 構造の細分化に使用
aside 補足情報をまとめる際に使用
audio 音声表示
b テキストを太文字で強調する
base 文書の基準となるURL
bdi 文字方向が異なる言語の混在時にテキストを周辺文字の影響から隔離
bdo テキストの表記方向指定
blockquote 引用
body 文書の本体
br 改行
button ボタン作成
canvas グラフィック
caption 表題
cite 引用元
code プログラムなどのソースコードであることを示す
col 表の行を非構造的にグループ化
colgroup 表の行を構造的にグループ化
command ユーザーが呼び出せるコマンド
datalist 選択可能なデータリスト
del 削除文(取消線)
details ユーザーがオンデマンドで受け取る備考や操作情報を表す
div ブロック要素の範囲を定義
dfn 定義語が使用されていることを示す
dl 定義(説明)されるリスト
dt 定義(説明)される言葉
dd 定義(説明)される言葉の説明
em テキストを強調(斜体)
embed プラグインの埋め込み
fieldset フォーム要素のグループ化
figcaption 図表のキャプション
figure 単独のメディアコンテンツ(図表)であることを示す
footer フッターであることを示す
form フォーム
h1~h6 見出し
head 文書のメタデータであることを示す
header 導入やナビゲーションであることを示す
hgroup 見出しをまとめる
hr テーマ、区切りを水平線で表示
html HTML文書であることを示す
i 声や夢想など他と区別したいテキストを斜体表示
iframe インラインフレーム
img 画像の埋め込み
input フォームの入力要素 ※属性が大幅増加
ins 追加文であることを示す
kbd ユーザーが入力する内容であることを示す
keygen フォーム送信時にペア鍵作成
label フォーム要素のラベル
legend フォーム入力範囲にキャプションをつける
li リスト(ol要素およびul要素)の項目
link 外部ファイルと文書の関連付け
mark テキストを言及目的で目立たせる
map イメージマップ領域設定
menu ツールバーやコンテキストメニューの作成
meta ページのメタ情報
meter ディスク容量、得票などの測定値を示す
nav ナビゲーションであることを示す
noscript JavaScript等を表示しないユーザー環境に対する代替テキスト
object オブジェクト(外部リソース)の埋め込み
ol 番号付き順序リスト
optgroup 選択肢(option要素)のグループ化
option プルダウンメニューの選択肢指定
output 計算結果表示
p 段落
param プラグインのパラメータ指定
pre 整形済テキストをそのまま表示
progress 処理の進捗状況を示す
q インラインレベルの短い引用文、引用句
ruby ルビの範囲
rp ルビを囲む記号を指定
rt ルビをふるテキストを指定
s すでに正確ではなくなった内容を表す
samp プログラムの出力結果のサンプルテキス
script スクリプトの埋め込み
section 一般的な文書またはアプリケーションにおけるセクション
select プルダウンメニューの定義
small テキストを小さく表示
source メディアリソース
span インライン要素のグループ化
strong テキストを論理的に強調(太字)
style スタイルシートの埋め込み
sub 下付文字
sup 上付文字
table テーブルの定義
tbody 表の本体
td 表のセル
textarea 複数行入力可能なテキストエリア
tfoot 表のフッター
th 表の行・列の見出しセル
thead 表のヘッダー
time 日付時刻
title 文書のタイトル
tr テーブルの行を生成
ul 箇条書きリスト
var 変数・引数
video 動画の埋め込み
wbr 改行位置指定

 

html5で廃止になったタグ

acronym、applet、basefont、big、center、dir、font、frame、frameset、isindex、noframes、s、strike、tt、u

これらのタグはすでにhtml4の段階でほとんど役割を終えていた感がある。

bb要素(呼出可能なユーザーエージェントのコマンド)、datagrid要素(選択したテーブルデータのリスト)、dialog(ダイアログ)がhtml5仕様で当初定義されていましたが、セキュリティ上の問題などで削除されています。

カテゴリー: HTML5 | タグ: , | コメントをどうぞ

リキッドタイプのIE対策

このエントリーを含むはてなブックマークはてなブックマーク - リキッドタイプのIE対策 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク このエントリをつぶやくこのWebページのtweets newsing it! Googleブックマークに追加 Bookmark this on Delicious


ページを固定ではなく、リキッド(可変)タイプのデザインにする際に、ブラウザを大きくしたり、逆に小さくしたりすることでカラム落ちしたり、レイアウトが崩れたりすることがあります。そうした場合は、最大幅(max-length)と最小幅(min-length)を使って回避します。しかし、IE6の場合、max-length、min-lengthには非対応です。

そこで、CSSファイル内にIE用の記述を付け加える必要があります。

一番外側のボックス要素となるcontainerに最大値、最小値を設定します。

body {
width:100%;
}

#container{
width:90%;
min-width:760px; //横幅の最小値を760pxに指定
max-width:960px; //横幅の最大値を960pxに指定
}

IE用には次のような1行を付け加え、最小幅と最大幅を指定します。

#container{
width:90%;
min-width:760px;//opera、firefox
max-width:960px;//opera、firefox
width:expression(document.body.clientWidth < 760? “760px” : document.body.clientWidth > 960? “960px” : “auto”); //IE
}

 

標準モードと互換モード

ブラウザには標準モードと互換モードがあります。今日、多くのWEBサイトは
htmlを記述し、CSSでデザインされています。標準的なCSSに対応して表示するブラウザのモードを「標準モード」と呼びます。一方、古いブラウザでも表示できるモードを「互換モード」と呼びます。
自分の書いたCSSをブラウザにきちんと解釈してもらうためには、
先頭にDOCTYPE宣言をする必要があります。
もし宣言がない場合は、ブラウザは互換モードになります。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> //(1)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">  //(2)

例えば、上記の(1)と(2)はHTML4.01 Transitional という同じHTMLバージョンで宣言されていますが、IE6やoperaでは互換モードになります。
すべてのブラウザで標準モードにするには(2)の記述でする方が正確に表示されます。

日本のように古いブラウザを依然として使用している場合は、ブラウザを判別して
ブラウザごとにCSSファイルを用意するという方法があります。
ブラウザハックなどを使用して回避する方法もありますが、W3Cに準拠したCSSにする場合は、IE用のcssを用意し、head内に下記のように書いてブラウザに読み込ませます。
現在、多くの方が閲覧に利用しているブラウザは

# <!--[if gte IE 6]>
# <link rel="stylesheet" href="css/ie6style.css" type="text/css" media="all" />
# <![endif]-->

デモを見る

カテゴリー: CSS | コメントをどうぞ

WPをバージョンアップし、サブドメインで出直し

このエントリーを含むはてなブックマークはてなブックマーク - WPをバージョンアップし、サブドメインで出直し Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク このエントリをつぶやくこのWebページのtweets newsing it! Googleブックマークに追加 Bookmark this on Delicious

従来のコラムとして使用していたWPを技術ブログかつ備忘録として活用することにしました。そのため、サブドメインにサイトを設定しましたので、従来のページのDBはすべて削除しました。

カテゴリー: CSS | コメントをどうぞ