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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

1回答

2762閲覧

::after で 線を引きましたが、1本だけ太くなってしまいます。どうしてでしょうか。

coan

総合スコア1

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

2クリップ

投稿2020/08/30 08:26

イメージ説明


<div class="main-cont"> <img src="top_art01_img03.png" alt="" width="665" height="400"> <div class="news-wrap"> <h3>新着情報</h3> <ul> <li class="news"> <P class="date">2012年08月01日</p> <p class="coment">【診療時間変更のお知らせ】長期休診の前日8月11日は、通常より1時間長く診療をすることにしました。ご予約をお待ちしております。</p> </li> <li class="news"> <p class="date">2012年07月24日</p> <p class="coment">【8月の休診のお知らせ】8月12日~16日の間は休診とさせていただきます。何卒よろしくお願いいたします。</p> </li> <li class="news"> <p class="date">2012年07月02日</p> <p class="coment">【こどもデンタル教室のご案内】毎月第2土曜日に行っているこどもデンタル教室では、参加してくださるお子様を募集しております。</p> </li> <li class="news"> <p class="date">2012年06月20日</p> <p class="coment">【7月休診日のお知らせ】7月は土日祝日以外の休診日はありません。ご来院お待ちしております。</p> </li> <li class="news"> <p class="date">2012年06月01日</p> <p class="coment">ホームページをリニューアルしました。</p> </li> </ul> </div> </div>

.main-cont{
vertical-align: top;
width: 639px;
display: inline-block;
}
.main-cont img{
margin-left: 2px;
}
.news-wrap{
font-size:15px;
color: var(--theme_font_color);
width: 639px;
display: inline-block;
background: white;
margin-left:15px;
padding: 20px;
box-sizing: border-box;
position: relative;
}
h3{
height: 65px;
position : relative;
}
.news-wrap ul{
position: relative;
}
h3::after{
content: "";
position: absolute;
left: -5px;
top: 40px; /*下線の上下位置調整 */
width: 610px; /下線の幅/
height: 3px; /下線の太さ/
background-color:var(--theme_color); /下線の色/
}
.date{
float:left;
font-size: 13px;
height: 65px;
font-weight: bold;
padding-left: 15px;
}
.coment{
float:right;
width: 430px;
height: 65px;
font-size: 13px;
padding-right: 15px;

}
.news{
position: relative;
height: 65px;
overflow: hidden;
}

.news::after{

content: " ";
position: absolute;
left: -5px;
top: 48px; /*下線の上下位置調整 */
width: 610px; /下線の幅/
height: 1px; /下線の太さ/
background-color:var(--theme_font_color); /下線の色/
display: block;
}

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

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

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

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

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

maisumakun

2020/08/30 08:30

他に適用されているスタイルはありませんか?そのまま入力したところ、画像の状態にならず、問題の線そのものが出ない状態に陥りました。 https://jsfiddle.net/q9uoz3k6/
hatena19

2020/08/30 10:31 編集

カスタムプロパティ var() の定義がないので線が表示されませんね。 適当に定義を追加して確認してみまたが、下線は表示されますが特定の線が太くなるという現象は発生しませんでした。 現象が発生するHTML、CSSコードを提示してください。 https://codepen.io/hatena19/pen/yLOXQea
dit.

2020/08/30 23:53

念のためブラウザのズーム値が変わっていないか(拡大縮小されていないか)もご確認ください。 こちらで確認したところGoogle Chromeで125%にしたところくらいから線幅にムラが出ました。
guest

回答1

0

恐らく使っているブラウザのレンダリングによる、誤差調整の視覚効果だと思われるんですが、
要するに、1px表示が表示ピクセル間に入って座標位置によって四捨五入で数値が膨らんでいるのではないでしょうか?

再現性がなかったので、正確にはわかりませんが、

afterの疑似要素でposition:absoluteの背景色で行っているのを、border-bottomで実現したほうがスマートでいいのではないでしょうか?

表示位置をづらいしたい場合は、margin-bottomでちゃんと要素間の調整をすると、以下のようなbefore-afterにしてみました。

[before]

css

1.news{ 2position: relative; 3height: 65px; 4overflow: hidden; 5} 6 7.news::after{ 8 9content: " "; 10position: absolute; 11left: -5px; 12top: 48px; /*下線の上下位置調整 */ 13width: 610px; /*下線の幅*/ 14height: 1px; /*下線の太さ*/ 15background-color:var(--theme_font_color); /*下線の色*/ 16display: block; 17}

[after]

css

1.news{ 2 position: relative; 3 height: 48px; 4 overflow: hidden; 5 border-bottom:1px solid red; 6 margin-bottom:17px; 7}

::after疑似要素は使わなくて、.newsセレクタのみで調整をしてみたので、こちらで試してみてください。

おそらく、罫線が部分的に太くなる現象も解消すると考えています。

投稿2020/09/19 00:16

編集2021/12/09 11:09
geta

総合スコア241

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問