• ベストアンサー

ブラウザ依存のボタンのデザインを使いたい。

cssで特にデザインを設定しない場合に表示されるボタンのデザインを使いたいと思っています。 しかし、ブラウザスタイルの初期化 *{ margin: 0; padding: 0; border: 0; font-style: normal; font-size: 100%; text-decoration: none; } をすると、ボタンがグレー背景ののっぺりしたものになってしまいます。 この状態ですでにページのデザインは完成していますので、ユニバーサルセレクタ内はさわらず、ボタンのデザインをブラウザのデフォルトのデザインで表示させる方法を教えてください。

  • HTML
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

一度指定してしまうと元には戻せません。 以下の三択だと思います。 (1)デザインをあきらめる。 (2)デザインだけなら、borderさえ指定しなければ元のままなのでborderの指定を削除して、必要な部分だけ別に定義する。 -borderが標準で付くのはアンカー内のimgとfieldsetぐらいだったかな。 -文字サイズは影響を受けます。 (3)ユニバーサルセレクタを個別に書き換える(*) * {~} ↓input,buttonを除く全ての要素名を羅列する。 a,abbr,acronym,address,・・・ {~}

yooping
質問者

お礼

ユニバーサルセレクタ内から border: 0; を削除したらデザインが戻ったので、 (2)の方法で調整しようと思います。 ありがとうございました。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

ユニバーサルセレクタ内はとはどういう意味ですか?? ^^^^^^^^^^^^^^^^^^^^^^???何かの造語ですか?  子孫セレクタや詳細度、継承順で指定できるはず何にしてないということは、CSSを直さないということ?  それとも、HTML(XHTML)側を直さないということ?  質問の意味が取れません。 しかし、誰がはじめたことか知らないけど。 *{ margin: 0; padding: 0; border: 0; font-style: normal; font-size: 100%; text-decoration: none; } なんて指定したら、CSSが大変面倒なことになるのは目に見えている。せいぜい html,body{ margin: 0px; padding: 0px; } だけでしてけばよいものを(^^)・・・

yooping
質問者

お礼

私は全くの素人で、知識は全て書籍から得たもので、プロの現場を全く知らないので、お恥ずかしいです。 ユニバーサルセレクタとはcss2で新たに導入されたセレクタであると、書いてありました。 出現頻度の多いプロパティをどの段階で指定するのが1番効率がいいのかいつも悩んでしまします。 プロの方からご意見をいただけると、勉強になります。 初期の設定をどの程度にするか今いちど考えてみます。 ありがとうございました。

関連するQ&A

  • border: noneでボタンの境界線が消える

    cssは全くの初心者です。教本で勉強しながらサンプルを動かしています。 reset.cssとstyle.cssの二つを利用し、 resetでブラウザの設定をリセットする形をとっています。 resetの内容は下記です。 ------------------------- @charset "UTF-8"; * { margin: 0; padding: 0; list-style: none; font-size: 100%; border: none; } img { vertical-align: top; } ------------------------- ところが、実験的に検索ボタンを設けようと <input Type="submit" name="subm" value="検索"> を追加したら、ボタンの境界線が消えてしまいました。 これを回避するにはどうしたらいいのでしょうか? ちなみに<div>で囲って個別に境界線を設定する、という方法もあり、やってみましたが、 ボタンらしく見えませんでした。検索ボタンだけreset.cssの「border: none;」を 適用しない、なんて方法はあるのでしょうか?

    • ベストアンサー
    • HTML
  • リストとスタイルシートを利用してリンクボタンを作成しているのですが・・・。

    HPBv10を利用してHPを作成している初心者です。 参考ページ(​http://www.wsb.jp/hpb/css/dan00.htm​)を利用して「ボタン」を作成しようとしているのですが、ボタン縦方向に配置するのは出来たのですがこのページの下にあるボタンを 「横方向に配置する」方法が分かりません button.cssの編集で「位置」-->「回り込み」-->「左」にしているのですがボタンが階段状になり「横一列」に表示されません。 おわかりになる方いましたらご教授宜しくお願いします。 ★html file★ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <title></title> <LINK rel="stylesheet" href="button.css" type="text/css"> </head> <body> <ul> <li><A href="page1.html">Menu1</A> <li><A href="page2.html">Menu2</A> <li><A href="page3.html">Menu3</A> </ul> </body> </HTML> ------------------------------------------------------------- ★css file★ P{ color: #000099; } A{ color : #3d3d3d; background-color : #bce9bc; text-decoration : none; text-align : center; padding-top : 3px; width : 100px; height : 30px; border-width : 5px; border-style : outset; border-color : #66cc66; display : block; font-size : 0.8em; font-family : Arial; float : left; } a:visited{ color : #3d3d3d; } A:HOVER{ <!--マウスが上にあるリンク --> background-color : #66cc66; border-width : 5px; border-style : inset; border-color : gray; text-decoration : none; font-style : italic; font-weight : bold; color : fuchsia; } A:ACTIVE{ color: #000000; text-decoration: underline; } UL{ list-style-type : none; padding-top : 0px; margin-top : 0px; padding-left : 0px; padding-right : 0px; padding-bottom : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; float : left; position : normal; clear : none; } TH{ color: #FFFFFF; background-color: #3366FF; } TD{ color: #000099; background-color: #CCDDFF; } OL{ float : left; list-style-type : decimal; }

  • IEでCSSが適用されません。

    現在作成中のページがあるのですが、IEで作成状況をF12で確認すると、 全くCSSが反映されず、グチャグチャに表示されてしまいます。 FireFoxでは、問題なく表示されるのですが・・ div, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote { font-size:100%; font-weight:normal; list-style-image:none; list-style-type:none; margin:0; padding:0; } dl { font-size:100%; font-weight:normal; list-style-image:none; list-style-type:none; margin:0; padding:0; } dt, dd { margin-bottom:2px; margin-top:2px; } 上記をCSSに組み込んで、リストタグの中黒を消すようにしているのですが、IEでは中黒が表示されたままです。 どうすれば良いのでしょうか。 教えて下さい!!

  • 外部CSSでリンクカラー指定

    外部CSSでwebサイトを作っています。 リンクカラーの指定をbody全体にしているのですが、 フッターだけ色を変えることはできますか? その際フォントカラーも変えられればと思っています。 現在のCSSは a{/*リンクされた文字*/ color:#002AD1; font-style:normal; text-decoration:underline; } a:link {/*未訪問のリンク*/ color:0000ff; font-style:normal; text-decoration:underline; } a:visited {/*訪問後のリンク*/ color:#002AD1; text-decoration:underline; } a:hover {/*マウスをのせたとき*/ color:#335BFF; font-style:normal; text-decoration:underline; } a:active {/*クリック中*/ text-decoration:none; } 現在サイト全体のフォントカラーはグレーで、 リンクは上記の通り青系です。 footerは白から濃い紺の帯にするので、 文言やリンクが見えなくなってしまうのです。 フッターのCSSに個別にカラー指定しても変わりません。 .footer { border : none; width : 838px; heigth : 100%; text-align: left; padding : 0px 0px 0px 20px; color: #ffffff; ←このようにフォントを白にしても変化がないです line-height: 160%; font-size: 11px; } 何が原因でしょうか? またそのようにする方法があれば教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • cssでボーダーを消したい

    こんにちは。 CSSのことで質問させてください。 リンクした文字色、ボーダーなどが出ないようにしたいのですが、 一部分、Firefoxで見ると、 文字色が紫で、ボーダーがでます。 *{ margin: 0; padding: 0; font-size: 100%; list-style: none; } と、リセットしています。 一部分の<ul>だけに効いていません。 どのようなことが原因として考えられるでしょうか。 どなたかよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSについてお聞きします。

    私は、ブラウザごとにデフォルトで余白など入ってくるため、スタイルシートに*(アスタリスク)で *{ margin:0; padding:0; border0; } と指定しています。 こうすることでページ全体に入る無駄な余白などを一旦0にしてからpaddingなどをかけていくようにしているのですが、ひとつ問題が出てしまいます。 それは、全体にCSSの効果が入るため、input type="button" などでボタンを配置した時に、デザインがグラフィックのかかってない格好悪いボタンになってしまいます。 全体にCSSをかけてもボタンのデザインが崩れない方法がないのか知っている方がいれば教えて頂けないでしょうか? どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • CSSを一部無効にしたい

    CSSを一部無効にしたい 今HTML4.01 Transitionalを使用してページを作成しているのですが、 外部cssで、以下のような全体にかかるスタイルを適用しています。 * { border:0 none silver; font-style:normal; font-weight:normal; } このなかのborder: 0 none silver だけを その外部のcssをいじることなく、html上で無効にしたいのです。 HTMLの方でstyleを使うことで上書きすることは可能なのですが、無効にするだけのやり方が分からず、質問させていただきました。よろしくお願いします。 (カテゴリを間違えていたため再投稿させて頂きました)

    • ベストアンサー
    • HTML
  • ブラウザの戻るボタン

    jQueryで1つのHTMLをcss("display", "block");css("display", "none");を用いて複数ページのように形成したが、css("display", "none");を使用し1ページ目を非表示にし2ページ目を表示させ、1ページ目から2ページ目に偏移したかのように見せて、ブラウザの戻るボタンを押すとファイル上は1つのHTMLのため、このHTMLを表示する前の状態が表示されてしまいます。ブラウザの戻るボタンを押してHTML内の1ページ目を表示する方法ありませんか?

    • ベストアンサー
    • AJAX
  • CSS backgroundが反映されません

    CSS初心者です。 CSSレイアウトで問題にぶつかりました。 下記CSSをIE6で見るとbodyに書いた 「background-image:url(images/flower.png); 」が反映されません。 IE10では反映されました。 いったい何故でしょうか。。。 調べてみたのですがいまいち分かりませんでした。 よろしくお願いいたします。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ * { margin:0; padding:0; } body { background-image:url(images/flower.png); background-repeat:no-repeat; background-position:bottom; background-attachment:fixed; background: rgb(#00000); color: rgb(76, 76, 76); } body{ text-align:center; } div#container { background-image:url(images/sora.jpg); background-repeat:no-repeat; box-shadow: 10px 10px 10px rgba(0,0,0,0.4); #000; box-shadow: 10px 10px 10px rgba(0,0,0,0.4); #000; } div#container{ width: 770px; margin: 0 auto; text-align: left; border: 3px solid rgb(228, 225, 219); } .photo{ margin: 0px; padding: 0px; left: 600px; top: 970px; width: 141px; position: absolute; } .photo2{ margin: 0px; padding: 0px; left: 400px; top: 970px; width: 141px; position: absolute; } p { line-height: 2em; font-size: 0.8em; } .p1{ font-weight: bold; letter-spacing: 0.1em; } .h1{ text-align: center; } h1 span { display:none; } h2 span { display:none; } h3 { line-height: 1.2em; padding-top: 2.4em; padding-bottom: 1em; font-size: 1em; font-weight: bold; } h3 { background-image:url(images/h3.png); background-repeat:no-repeat; background-position:0px 35px; padding-right: 40px; padding-left: 30px; } h2 { line-height: 1.3em; padding-top: 1em; padding-bottom: 1em; font-size: 1em; font-weight: bold; } a{ color:#0000ff; font-style:normal; text-decoration:underline; } a:link { color: rgb(90, 120, 255); font-style:normal; text-decoration:underline; } a:visited { color: rgb(165, 188, 255); text-decoration:underline; } a:hover { color:#ff0000; font-style:normal; text-decoration:underline; } acronym { border-bottom-color: currentColor; border-bottom-width: medium; border-bottom-style: none; } #intro { padding: 0px 79px 0px 86px; } #participation p { padding-right: 40px; padding-left: 10px; } #intro { padding-top: 50px; } #preamble p { padding-right: 40px; padding-left: 15px; } #explanation p { padding-right: 40px; padding-left: 15px; } #preamble { padding-bottom: 20pt; border-bottom-color: rgb(228, 225, 219); border-bottom-width: 3px; border-bottom-style: ridge; } #explanation { padding-bottom: 20pt; border-bottom-color: rgb(228, 225, 219); border-bottom-width: 3px; border-bottom-style: ridge; } #participation { padding-bottom: 20pt; border-bottom-color: rgb(228, 225, 219); border-bottom-width: 3px; border-bottom-style: ridge; } #benefits { padding-bottom: 20pt; border-bottom-color: rgb(228, 225, 219); border-bottom-width: 3px; border-bottom-style: ridge; } #requirements { padding-bottom: 20pt; border-bottom-color: rgb(228, 225, 219); border-bottom-width: 3px; border-bottom-style: ridge; } #quickSummary p{ padding-right: 40px; padding-left: 10px; } #footer { text-align: center; line-height: 1.5em; padding-top: 10px; padding-bottom: 40px; font-size: 0.9em; } #footer a:link { color: rgb(133, 126, 112); } #footer a:visited { color: rgb(133, 126, 112); } #footer a:hover { color: rgb(133, 126, 112); } #footer a:active { color: rgb(133, 126, 112); }

    • ベストアンサー
    • CSS
  • CSSで表示が異なってしまう

    下記のようなCSSを使っているのですが、リンクが入ると表示が異なってしまいます。 画像の下のようにしたいのですが、どうすればよろしいでしょうか? よろしくお願いします。 ■ CSS A:link{ color:#0095ff; text-decoration: none;} A:visited{ color:#0095ff; text-decoration: none;} A:hover{ color:#00efff; text-decoration: underline;} A:active{ color:#00efff; text-decoration: underline;} .style02{ padding:3px 0 0 6px; margin-bottom: 5px; font-size:16px; font-weight:bold; background-image:url(../_images/h_02.gif); background-repeat:repeat-x; border: 1px solid #000000; color: #000000; } ■ ソース <a class="style02" href="http://www.hogehoge.com">トップページ</a> <div class="style02">トップページ</div>

    • ベストアンサー
    • HTML

専門家に質問してみよう