回答編集履歴
1
コード修正
answer
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
CSSの [::firstline疑似要素](https://developer.mozilla.org/ja/docs/Web/CSS/::first-line) が使えるかと思ってためしてみたけど、`white-space: pre;`だと無効になるようです。
|
2
2
|
|
3
|
-
たぶん、CSSだけでは無理だと思います。JS を使って、rt のp内での相対位置を取得して、一行目
|
3
|
+
たぶん、CSSだけでは無理だと思います。JS を使って、rt のp内での相対位置を取得して、一行目ならpaddingTop を 0 にするというのでいけそうです。
|
4
4
|
|
5
5
|
```js
|
6
6
|
let p = document.querySelectorAll('.sentence p');
|
7
7
|
for (var i = 0; i < p.length; i++) {
|
8
8
|
const rt = p[i].querySelector('rt');
|
9
|
-
if ((rt.getBoundingClientRect().top - p[i].getBoundingClientRect().top) < 40) {
|
9
|
+
if ((rt !== null) && (rt.getBoundingClientRect().top - p[i].getBoundingClientRect().top) < 40) {
|
10
10
|
p[i].style.paddingTop = "0";
|
11
11
|
};
|
12
12
|
}
|