
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で質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- オンラインゲーム DBDで貞子の具現化ボタンと念写について 1 2022/04/02 01:28
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
- モニター・ディスプレイ 【ウルトラワイドモニター検討中】 2 2023/08/08 13:06
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dreamweaver4でのクローズボタン
-
ボタンをクリックした時に、入...
-
[html] <input type="file">タ...
-
HTMLのボタンで他サイトへ...
-
ボタンリンクの文章を二行に・・・
-
WebBrowser 内のボタンをクリッ...
-
FORMのaction先について
-
HTML の BUTTON タグの VALUE ...
-
テキストボックス内を書き込み...
-
htmlでsubmit送信時、actionよ...
-
SUBMITボタンを表示させないでS...
-
開くと同時に自動submit
-
HTMLボタンのクラスを動的...
-
INPUTのボタン周囲のスペース
-
ホームページ内でEnterキ...
-
フォームの中身が空白なら
-
ポインタを合わせると音が鳴る...
-
HTMLでのid とnameの違い
-
ただいま勉強始めたての初心者...
-
submitボタンを横一列複数リン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLボタンの文字色を変え...
-
getParameterで値が取得できず...
-
戻ると、記入フォームの内容が...
-
submitボタンにvalue属性の値で...
-
ボタンのなかに表示する文字を...
-
ただいま勉強始めたての初心者...
-
ボタンをクリックした時に、入...
-
リンクでPOSTデータを送信する...
-
formの送信ボタンをテキストに...
-
SUBMITボタンを表示させないでS...
-
FORMタグ内に複数submitボタン...
-
グーグルマップの文字化けで困...
-
UWSC
-
formでのtarget="_blank"2回目
-
inputのtextとsubmitの高さがズ...
-
htmlでsubmit送信時、actionよ...
-
<div>部分のみの更新
-
開くと同時に自動submit
-
前の画面の情報を保持するには?
-
HTMLのKEYとVALUE...
おすすめ情報