No.6ベストアンサー
- 回答日時:
ANo.3です。
> CSSでやってみたのですが、効果がありませんでした。…
実際にIE6.0/7.0、Firefox2.0~、Opera9.25 on Windows XPでの表示結果を検証してみました。やはり記憶通り、IE6.0/7.0では、サブミットボタンの左右paddingはvalueの文字数によって相対的に増え、"padding: 0;"と定義しても効くのは(質問者様も確認済みの通り)上下方向のみ、左右は8文字ぐらいのデータ量では0にすることはできませんでした。
> 1個1個にやるのは大変なので、CSSのやり方はありますか?
共通のプロパティに関しては一括指定ができますが、文字数によって幅をぴったりにしたいとなると、上記のIEの仕様により、ANo.5の回答者様も仰っている様にやはりそれぞれのボタンにユニークなidをつけて識別してやる必要があるので、結果として1つ1つの対処という事にならざるを得ません。
以下はサンプルです。書式はXML宣言ありのXHTML1.1です。
----------------------------------------------------------------------
【CSS】
----------------------------------------------------------------------
input.button{
font-size: 12px;
padding: 0;
}
input#hoge8{
width: 8em;
}
input#hoge6{
width: 6em;
}
input#hoge4{
width: 4em;
}
----------------------------------------------------------------------
【HTML】
----------------------------------------------------------------------
<form method="post" action="#">
(省略)
<ul class="submit">
<li><input class="button" type="submit" id="hoge8" name="hoge8" value="このデータを送る" /></li>
<li><input class="button" type="submit" id="hoge6" name="hoge6" value="再度確認する" /></li>
<li><input class="button" type="submit" id="hoge4" name="hoge4" value="次へ進む" /></li>
</ul>
</form>
----------------------------------------------------------------------
上記はサンプルはid毎にvalueの文字数に併せてwidthを変えています。ただ、8文字の場合は上記環境で丁度ぴったりぐらいの幅になるのですが、6文字以下ぐらいから逆に右端が切れる様な感じで表示されてしまいます。必ずしも1em=1文字とはならないので、IEでの見た目にこだわるならやはりその都度微調整して行くしかないと思います(6文字の場合はちょっと多めに6.5emぐらいにしておく、とか…)。
CSSとHTMLのみを使用し<input type="submit"~>での実装となるとこれが限界だと思います。後は他の回答者様もアドバイスしている様な、<input type="image"~>の使用に変える、もしくはインライン要素/display: inline;に変えたブロック要素(自動的にテキスト量に合わせた幅になりますので個別にwidthを定義する必要がありません)にボタン風に見えるスタイルを定義してJavaScriptを仕込んでonclickで送信する、という様な別の方法を取るしかないかと。
No.5
- 回答日時:
No.2です。
CSSでまとめて指定するには、
サブミットボタンを使用するときに常にdivで囲っていてユニークのidがふられている場合か、
submitボタン自体に特定のclassかidが設定されている必要があります。
また、秀丸や、EmEditorの有料版、Dreamweaverなどで、
全ファイルをgrep検索して、
「 type="submit"」を「 type="submit" class="submitbtn"」のようにに置換すれば、
まとめて指定することが可能です。
CSSには
input.submitbtn{padding:~;}
と記述すればOKです。
もし、完全に見た目を統一したい場合は、
<input type="image" src="test.gif">を使って
アンチエイリアスOFFの画像にしてみるというのはいかがでしょうか。
ただしこの場合、
type="submit"の値をチェックするようなスクリプトの場合、
スクリプトのほうで対応策が必要になるかもしれません。
No.4
- 回答日時:
ちょっとした(javascriptを使った)邪道なやり方だけど
普通にbox描画をしてそれにonClickで対応するという方法もあるよ。
inputの描画じゃなく普通のbox描画ならぴっちりになるでしょ?
No.3
- 回答日時:
> 8文字くらいのボタンだと横幅が広くなります(空白)
> filefoxでは横の空白がぴったりに表示されますがIEのみ駄目です。
今外からの覗き見でIE on Windowsでの検証ができる環境にいないので、記憶で申し上げますが、確かIEでは<input type="submit"~>の左右の余白は一定ではなくvalueで表示される文字数に依存し広がる、という謎の仕様になっていたかと。なので「横の空白を消す」となると、CSSで左右paddingを0にしても効かなかったと記憶しています。
ちょっとググって出てきた下記参考URLに様々な環境での<input type="submit"~>の見え方を検証・一覧にした表がありますが、やはりここの"Button 11"のスタイルが"padding: 0;"になっているにも関わらず、IE6 on Windowsでは自動的に左右余白を与えられている様に見えます。
http://www.456bereastreet.com/lab/form_controls/ …
IEでの余白を消すには、(ANo.2の回答者様のサンプルにもあります様に)<input type="submit"~>にwidthを決め打ちする様なスタイルを与えるぐらいしか方法がないかと。
※ただ現実問題としては、内容(文字数)によっていちいち別のスタイルを与えるのは非効率この上ないと思いますが。
No.2
- 回答日時:
↓1emが一文字分なので、emでwidthを指定すれば、文字が拡大しても追従します。
<input type="submit" value="送信" style="width:5em">
前述の方がおっしゃっているようにpaddingなら細かい指定ができます。
↓上下左右に1文字分余白
<input type="submit" value="送信" style="padding:1em">
↓左右のみに1文字分余白
<input type="submit" value="送信" style="padding:0 1em">
↓上1em、右2em、下3em、左4emの余白
<input type="submit" value="送信" style="padding:1em 2em 3em 4em">
↓pxでもOK
<input type="submit" value="送信" style="padding:10px">
この回答への補足
CSSでやってみたのですが、効果がありませんでした。…
1個1個にやるのは大変なので、CSSのやり方はありますか?
以下の通りは試してみましたが、効果なしでした。
padding:1px;
padding:1em;
padding:1 1 1 1em;
padding 1 1 1 1px;
padding:1em 1em 1em 1em;
padding:1px 1px 1px 1px;
なお、CSSでは効果がないと記述しましたが、縦方向の余白には効果がありました。
ボタンそのものに記述したら完全に成功はしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iPhone用ページのフォームボタ...
-
HTMLボタンの文字色を変え...
-
UWSC
-
submitボタンにvalue属性の値で...
-
<FORM> </FORM> の中に さらに...
-
開くと同時に自動submit
-
HTMLだけでボタン作成
-
getParameterで値が取得できず...
-
複数選択のListBoxでClickイベ...
-
Javascriptでページ内容全体を...
-
Eclipseでクリーンが出来ない
-
VBAで一時中断したプログラムの...
-
Accessの画面更新を一時的に停...
-
DELL8300のPCのあけ方を教えて...
-
HTTPリクエストヘッダーの設定...
-
ブラウザを閉じずにセッション...
-
グリッドビューでのチェックボ...
-
asp.NET初心者です。「 ’Contex...
-
PHPからWindowsログインユーザ...
-
VBAでHTTPログイン
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLボタンの文字色を変え...
-
submitボタンにvalue属性の値で...
-
getParameterで値が取得できず...
-
ボタンのなかに表示する文字を...
-
formの送信ボタンをテキストに...
-
戻ると、記入フォームの内容が...
-
SUBMITボタンを表示させないでS...
-
inputのtextとsubmitの高さがズ...
-
htmlでsubmit送信時、actionよ...
-
checkboxとlabelがずれる
-
HTMLでのid とnameの違い
-
開くと同時に自動submit
-
リンクでPOSTデータを送信する...
-
ボタンを押さずにボタンを押す...
-
INPUTのボタン周囲のスペース
-
HTMLのKEYとVALUE...
-
<FORM> </FORM> の中に さらに...
-
前の画面の情報を保持するには?
-
UWSC
-
ボタンをクリックした時に、入...
おすすめ情報