tableの左1列を固定して横スクロールをさせたい時にposition: sticky;を使うと思いますが、列を左にスクロールした時に一番左の列の縦線がなくなり右の列が後ろを移動しているのが見えます。これを見えないようにするために空の疑似要素を使って左の列にborderを設定するのですが、ここで問題が生じました。
一番左の列には文字にa hrefでリンクを張っています。疑似要素を使用するとその文字のリンクがクリックできなくなってしまうのです。
リンクをクリックできるようにするために、疑似要素を使わないようにjavascriptを使用してdiv要素を作り、これを棒状にしてborderの代わりとして使用しようと思い、下記コードでtableのtopとleftを取得して、そこからborderのtopとleftとheightを求めて設置しようと思ったのですがtableのtopとleftが正確に取得できず、棒上のdivがずれて表示されたりします。特にwordpress内だとずれます。
javascript
1var top = document.querySelector("#example table").getBoundingClientRect().top; 2var left = document.querySelector("#example table").getBoundingClientRect().left;
列固定のスクロールで、左の列の縦線を表示しつつリンクも有効にしたいのですが、よい解決策はあるでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/26 01:13