速報

SageMaker SDKの既定バケットに所有者確認漏れ|成果物の改変を防ぐ更新と点検

CATEGORY

tr要素の表示・非表示をdisplayのblock・noneで切り替えるとレイアウトが崩れてしまう

※本ページのリンクにはプロモーションが含まれています。

tr要素の表示・非表示をdisplayのblock・noneで切り替えるとレイアウトが崩れてしまう

目次

本記事では、tr要素の表示・非表示を切り替えた際に表示が崩れてしまう場合の対処方法をご紹介しています。

tr要素をdisplay: block、noneで切り替えると崩れてしまうんだけど、どうすればいいんだろう?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

問題点

tableの行の表示・非表示を切り替える処理を実装する場合、スクリプト側ではなく、tr要素にclassを付けて切り替える方法を採用する場合があります。(バックエンドとの兼ね合いも考慮して)

そうすると、真っ先に思いつく方法がdisplay: block;とdisplay: none;を切り替える方法ですが、tr要素をこの方法で切り替えると表示が崩れる場合があります。

一例として、下記にデモをご用意しました。「表示切替」を押下するとtableのメールアドレスの行の表示・非表示が切り替わります。表示された場合にメールアドレスの行を確認すると表示が崩れているかと思います。

See the Pen TR Display Block None1|Web by ryohei (@intotheprogram) on CodePen.

結論: table-rowで切り替える

tr要素の表示・非表示を切り替える場合はdisplayの値に下記を指定することで、この問題は解決します。

display: table-row;

普段、コーディングする上であまり意識しないと思いますが、tableに関連する要素は下記のdisplayの値を初期値として持っています。

table要素display: table
thead要素display: table-header-group
tbody要素display: table-row-group;
tr要素display: table-row;
th要素display: table-cell;
td要素display: table-cell;
tfoot要素display: table-footer-group;

本記事ではtr要素にフォーカスして解説していますが、tr要素に限らず、他の要素の表示・非表示を切り替える際に参考になるかと思います。

スポンサーリンク

実際にtable-rowで表示・非表示を切り替えてみる

冒頭で簡単に表示・非表示を切り替えた際にレイアウトが崩れるデモをご紹介しましたが、今度はdisplay: table-rowを使用して切り替えを行ってみます。

See the Pen TR Display Block None2|Web by ryohei (@intotheprogram) on CodePen.

無事メールアドレス行のレイアウトが崩れることなく表示・非表示を切り替えることができていますね!

最後に

普段コーディングをする中で、各要素に設定された初期値を意識することですっきりしたコーディングができるようになるかと思います。私もなるべく気を付けてコーディングしていこうと思います!

以上、tr要素の表示・非表示をdisplayのblock・noneで切り替えるとレイアウトが崩れてしまう場合の対処方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク