• ベストアンサー

css 画像とテキストボタンの作り方

テキスト部分は画像ではなく、画像の隣にテキストが来るようなボタン(テキストが画像になっているものではないです。)が作りたいのですが、作り方がわかりません。ソースを見てもわからず、とても困っています。添付した画像はツイッターのボタンです。このようなボタンが作りたいと思っています。どうかよろしくお願い致します。

  • CSS
  • 回答数5
  • ありがとう数2

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

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

><a href="#"> ><input type="submit" id="aboutbutton" value="ボタンの名前"> ></a>  それはないでしょう。(^^) <form action="./cgi-bin/***">  <input type="submit" value=""> </form>  もしくは <a href="./**?name=test">送信</a>  とかでしょう。  その前後のソースも必要ですが、たとえば <p class="submit">  <a href="./**?name=test">送信</a> </p>  だとすれば、 p.submit{  margin-left:2em;  line-height:30px; } p.submit a{  display:block;  width:6em;  height:20px;  position:relative; } p.submit a:before{  content:url(画像のURL); } とか、古いブラウザにも対応するなら p{  background:url(画像URL) no-repeat 0 0;  padding-left:40px; } とか・・・ 画像を含めてリンクさせたければ p.submit{  width:100px;  height:40px; } p.submit a{  display:block;  width:100%;  height:100%;  margin-left:40px; } とか・・・・。 p.submit:before{}で画像を追加しても良いでしょう。 様々な方法がありますが、これはサイト全体や目的、想定するユーザーエージェントなど様々な条件を勘案して総合的に判断するしかないでしょう。

sh84fg6d
質問者

お礼

とても詳しく教えて下さり、ありがとうございました。もっと勉強したいと思います。

その他の回答 (4)

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

先ほどは来客で席を立ったため尻切れトンボに・・ 文字を画像に置き換えてしまうという古い「非標準な方法」もあります<a href="<img>ほげほげ</a>が、さすがにそれではまずい。 ・たとえばHTMLが独立した段落内のリンクでしたら:beforeという擬似要素を使う ・リストだったら、list-style:image; ・それ以外だと、背景にしてしまう  というのが良いでしょう。・・いずれにしろ、画像を配置するHTMLソースを示してください。

sh84fg6d
質問者

補足

HTMLソースですが、 <a href="#"> <input type="submit" id="aboutbutton" value="ボタンの名前"> </a> です。 このvalueの値をボタン上に配置し、id="aboutbutton"にcssで背景を設定したのですが、valueの値の位置を右にずらすことが出来なく、画像に重なる形になってしまいます。 非常に分かりづらい質問で申し訳ありません。

  • DrFell
  • ベストアンサー率55% (305/551)
回答No.3

見本だとボタン形式で全体だけど、左に来るだけのものも作り方は同じ cssの基本がわかる前提で、 1.画像を用意する。 2.1.の画像を目的のテキストの背景にする。  ただし、1回のみ、左に 3.2.の画像のテキストと重なってはダメな分だけ、パディングで左を空ける。 以上。 注意 左だけに来るものだと、インライン要素でもブロックライン要素でもOKだが、ボタン形式で高さや幅を指定したい場合はブロック要素にすること。htmlがインライン要素なら、ディスプレイでブロックに見せかけること。

sh84fg6d
質問者

補足

この方法を<input~に用いる場合、どのようにすれば良いのでしょうか。不勉強で申し訳ありません。

  • pasocom
  • ベストアンサー率41% (3584/8637)
回答No.2

作りたいボタンが何をするボタンなのかにもよりますが、単に別ページへのリンクであるなら、 <a href="linkpage.html"><img src="filename.jpg"></a>フォローする と書けば良いだけでしょう。 ボタン画像(filename.jpg)がすごく大きかったり、テキスト(フォローする)が長い文章だとページの右端で折り返されたり、テキストが改行になっちゃいますが、それほどでなければ上記で充分です。

sh84fg6d
質問者

補足

ページリンクではなく、<input~を使用して値を返すものです。 input type="image"だと画像扱いになるので背景は画像に出来るのですが、valueで指定した文字は画像が表示できなかったときのためのものなので、反映されません。input type="submit"だと、画像をsrcで指定しても表示されなくなり、上手くいきませんでした。 分かりにくい説明で申し訳ありません。よろしくお願い致します。

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

HTMLが、単なるリンクですか?、ナビゲーションリストのひとつですか? <p>  <a href="">フォローする</a> </p> それとも <input type="button" value="フォローする"> それとも <div nav">  <li><a href="">フォローする</a></li>  <li><a href="">フォローする</a></li>  <li><a href="">フォローする</a></li> </div> どれでもよいですが・・・・・

関連するQ&A

  • 背景画像上にテキストを配置したボタンについて

    今晩は。 いつもお世話になっています。 CSSで次のようなボタンを作りたいと思っています。 ・背景画像の上にテキストを乗せたボタン。 1)ボタン上のテキストを書き換えられるようにしたい。 2)ボタンはページによって同じ背景画像でサイズを変えたい。(指定した縦横幅に合わせて背景画像がリサイズされるようにしたい) 3)背景画像ごとリンクにしたい。 参考サイトを見て、現在以下のようなボタンを作ってみました。 1、2はクリアできたのですが、ボタン上のテキストではなく、背景画像自体をリンクにするにはどうすればいいでしょうか? また、色々方法はあると思うのですが、今回のようなボタンを作る上でもっと効率の良いCSSがあれば、参考サイト等教えて頂けると幸いです。 -------------CSS-------------- div.photo{ width:100px; height:50px; background-image:url("xxxx.png"); background-repeat:no-repeat; position:relative; background-size:contain; float:right; } .text{ width:100px; position:absolute; top:8px;left:10px; color:#ffffff; line-height: 1.2; font-size:15px; } ------------HTML------------- <div class="photo"> <div class="text"><a href="#">テキスト</a></div> </div> 以上になります。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 画像とテキストを一列に並べる。高さを画像の真ん中に

    Wordで画像とテキストを一列に並べて書く際、 添付画像のようになってしまいます。 画像の下辺に合わせた位置にテキストが配置されます。 そうではなく、高さ的に画像の中央にテキストを配置したいのですが、可能でしょうか? アドバイスよろしくお願い致します。

  • CSSで左に画像、右にテキストを並べたい。

    CSSで左に画像を置いて右にテキストを同じ列で並べたいのです。 (●=画像 ▲=テキスト) 現在の表示は ●▲ となっているのですが、これを ●     ▲ と表示して画像は左端、テキストは右端にしたいのです。<td>で区切ればできると思うのですが、これをCSSだけで何とかできないでしょうか? 色々試したのですが、どうしても下のように改行してしまいます。 ●       ▲ ソースは以下です。 <table border="0" cellpadding="0" cellspacing="0" width="750" > <tr> <td colspan="2" id="head"><img src="img/777.gif" border="0">おはよう</td> </tr> </table> 外部CSS #head{background-color:#009900 width:750px; height:60px; margin-right:5px} どなたか宜しくお願い致します。

    • ベストアンサー
    • HTML
  • CSSでのテキストの下に画像などを配置したい。

    CSSでレイアウトしたページを作っています。 画面左のナビをテキストで作成しました。 (ヘッダーの下に、左のナビと右のメインエリアという構造) テキストの周囲をボーダーで囲んであります。 (TABLEは使っていません) テキストでの一覧のメニューの下に、画像のボタン等を配置したいのですが、メニューのテキストのテキストサイズを固定していないため、ブラウザの文字サイズを大きくしたりすると、メニューが縦に伸びたりします。 この時、メニューの下に配置する画像を、上のメニューの大きさ(縦幅)が変わってもそれに合わせて配置を上下させたいのですが、どうすればいいのでしょうか? とりあえずposition:absoluteでは絶対位置で指定されてしまうので、うまくいかないってことは分かっているのですが・・・ CSS自体まともに使うのは初めてなので、本等で調べながらやっているのですが、この部分が解決できません。

  • CSSにおいて、画像とテキストの配置(回り込み)について

    CSS+HTMLによって、HPを作成しております。 HP作成ソフトはDream Weaver8です。 画像をテキストの左に回りこませる技術。 (例) ■■■■ テキストテキスト ■画像■ テキストテキスト ■■■■ テキストテキスト はスタイルシートで、画像にスタイルシートの ボックスのfloat定義でleftをつけて <div class="header" id="pageName"> <div id = "left"></div> <span class="style3">テキスト</span><br/> </div> このように設定すればよいのかと思ったのですが (headerは外部スタイルシートで、読み込み) 十分に画像をおくスペースがないと、 画像に、テキストがかぶってしまう場合や、(レイヤーが働いてしまう。)うまく、回り込まないのですが、どの設定が足りないのでしょうか。 ちなみにたっぷりとスペースをとった、divですと、 回り込ませることができたりしましたが、メニューdivなど 小さいスペースや縦幅が足りないとだめなのでしょうか。 画像のレイヤーの解除指定などをした方がよろしいのでしょうか。 まだ、初心者ですが、もし、ヒントだけでも、教えていた だけますと幸いです。

    • ベストアンサー
    • HTML
  • ダイナミックテキストのボタン化

    いつもお世話になっております。 actionscript3.0でサイト制作を行なっております。 予めFLASH上で作成したダイナミックテキストフィールドに、 外部ファイルから読み込んだテキストを入れ、それをボタン(指マーク) にしたいと考えております。 テキストフィールドの為、useHandCursolやbuttonMode等のプロパティは 使えないと思いますので、予め作成したダイナミックテキストフィールドと 同じ大きさの透明なSPRITEをテキストフィールドの上に乗せておき、 それをbuttonMode = trueの処理でリンクとして扱う方法を考えましたが、 少々面倒だと感じました。 上記の方法以外にactionscript上で、ダイナミックテキストをボタンとして 変換するような方法は御座いますでしょうか? 宜しくお願い致します。

  • 編集ボタン

    現在、IEの編集ボタンを押すと愛用のテキストエディターが立ち上がってソースが表示されます。そして、その隣にくっついてるボタンを押すと愛用のテキストエディターやメモ帳、ワードなどから編集するソフトを選んで編集できます。 ところが時々その矢印が無くなり編集ボタンを押すとメモ帳が立ち上がることがあります。ひどいときには編集ボタンをクリックすることすらできません。 右クリック→ソースの表示 や 表示メニュー→ソース ではいつでもメモ帳が起動して問題外です。 いつでも愛用のテキストエディターが起動するようにするためにはどうすればいいのですか。 Win XP で IE6 です。

  • 画像にテキスト入れたいですが

    Windows-7を使ってます。画像にテキスト入れるソフトが判らず アクセサリの「ペイント」を使ったら 添付画像の様に縦横デタラメな配列でしか出てきません。XP時代は簡単に出来てたので、他にいい方法あったら教えて下さい。

  • 画像のテキストにリンクを埋め込む?

    よく、サーチエンジン対策などで画像にキーワードなどを埋め込むという手法があるようなのです。隠しページへのリンクを同様の手法で埋め込みたいと思っています。よく、アイコンに画像を持っていくとテキストが表示されるのですが、その部分にリンクさせるという話を依然聴いたことがあるのですが、具体的な方法がわかりません。参考ページでも構いませんので、ご存知の方がいらっしゃいましたらお願いいたします。alt="ああああ  altタグ部分にリンクを張るということの推測はついているのですが・・・具体的なソースがあれば一番なのですが・・・。

  • 画像の上にテキストを重ねるためにCSSスタイルシートをつくったのですが

    Dreamweaver8にてHPをつくっております。 よく背景でない画像の上にテキストがかさなってあるのを見て それに挑戦しているのですが、 下記がCSSのソースです。外部ファイル化しています。 .kasaneru {z-index: 2;} .kasaneru2 { z-index: 1; height: auto; width: auto; top: 300px; right: 120px; overflow: visible; position: absolute; } これをdivやclassでbody内に指定してみたのですが、画像はテキストの上に重なるのですが、肝心のテキストが上にでてくれません。 私の希望は画像の上にテキストを重ねたいのです。 z-indexで数字を大きくしているのにテキストが上にきてくれないのはなぜなのでしょうか? よろしくお願いいたします。m(_ _)m

専門家に質問してみよう