質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1180閲覧

CSSでリンクを枠の中いっぱいに広げたいです。

退会済みユーザー

退会済みユーザー

総合スコア0

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/07/14 15:48

編集2017/07/15 00:33

###■やりたいこと
表の中のリンクの範囲を、表の枠いっぱいに、そしてぴったりに広げたいです。

###■困ってます
このように書くと、なぜかズレます。
リンクの範囲は枠と同じ大きさなのですが、枠とぴったりにならずズレるのです!
https://jsfiddle.net/zxp5kb42/

CSS

1.waku { 2 position: relative; 3} 4.waku a { 5 position: absolute; 6 width: 100%; 7 height: 100%; 8}

###■ためしたこと
このように書いてみました。
すると上記のようなズレは起きず、枠と同じ大きさでぴったりに広がってくれます。
が、今度はリンクの文字が枠の真ん中に来てくれません!!
vartical-alignを書いてもダメな様子です。
https://jsfiddle.net/zxp5kb42/2/

CSS

1.waku { 2 position: relative; 3} 4.waku a { 5 position: absolute; 6 top: 0; 7 bottom: 0; 8 right: 0; 9 left: 0; 10 text-align: center; 11 vertical-align:middle; 12}

以上です。

どうずればリンクの文字が枠いっぱいにぴったりに広がって、そして枠の真ん中に来てくれるのでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/07/14 22:46

1つ目のリンク先のリンクURLの後ろに何か記号が入っているようです。修正お願いします。
退会済みユーザー

退会済みユーザー

2017/07/15 00:33

ご指摘ありがとうございます。修正いたしました!
guest

回答2

0

「クリックエリアをセルいっぱいにしたい」だけなら下記の手段もあります。

CSS

1.waku { 2 position: relative; 3} 4.waku a::after { 5 position: absolute; 6 width: 100%; 7 height: 100%; 8 content: ""; 9 top: 0; 10 left: 0; 11 right: 0; 12 bottom: 0; 13} 14```**動くサンプル:**[https://jsfiddle.net/zxp5kb42/11/](https://jsfiddle.net/zxp5kb42/11/)

投稿2017/07/15 07:17

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/15 17:33

これは!すごいですね! 同じ行の他の枠にpaddingがあっても、この方法なら平気なのですね! ズレもなし。最高です。 どうもありがとうございます。
guest

0

ベストアンサー

こんな感じでどうでしょう。

css

1td.waku{ 2 padding:0; 3} 4td.waku a { 5 width: 100%; 6 height: 100%; 7 display:block; 8 padding:10px; 9}

aが枠いっぱいにならないのは下記2点が原因と思われます。

  • tdにpaddingがついているため
  • というのとaがブロック化されていないため

tdからの距離はaをブロック化した上でaにpaddingを与えて距離をとっています。
上記指定では右にもはみ出てしまいますが(background-colorつけてみてください)
上下左のみで調整しても良いと思います。

forkソース

https://jsfiddle.net/a1btnL1u/3/

投稿2017/07/14 23:03

編集2017/07/15 01:00
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/15 00:46

おはようございます。 試しました。ありがとうございます。横幅はほぼ解決ですね。 しかし… 縦が埋まってくれなそうなのですが、これってなんとかならないものでしょうか?(*´Д`) 1つ目のリンク範囲が大きく右下にズレるのも謎ですよね…表には使えないのでしょうか?
m.ts10806

2017/07/15 00:58 編集

あれ?横も縦もちゃんと表の範囲に広がってるはずなのですが・・・。 forkしたものを貼っておきます。。 分かりやすくするためにaのpaddingを20pxに広げてます。
m.ts10806

2017/07/15 01:03

ただ、これだけだと文字に下線がついててそこしか押せないというUXになるので、 下線消して.waku aに背景色つけたり、ちょっとボタンぽく装飾した方が見た目にも機能的にも良いですね。
退会済みユーザー

退会済みユーザー

2017/07/15 01:11

失礼いたしました! .test tdにpadding:10px;を書いたままでした。(ちゃんと読めw) その分の縦が埋まってくれなかったようです。 たびたびのご回答、まことにありがとうございます。 今日も暑いのでマメな水分補給を☆
退会済みユーザー

退会済みユーザー

2017/07/15 01:12

そうですね。この枠は比較表でして、左の「問題の部分」は名前だけです。表の右側にその名前へのリンク先としてかわいいボタンをつけようかなと思っております。
退会済みユーザー

退会済みユーザー

2017/07/15 01:13

でも下線は消さないとかっこわるいですね。ご忠告感謝です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問