見出し画像

プログラミング備忘録【CSS編⑤】

今回はリンク先のページを別のタブで開く方法と
フォームの高さや幅をCSSで変更する方法を紹介します

別タブで開いてみる

<a href="https://note.com/notes/new" target="_blank">
  note
</a>

このtargetを追加することによって別タブでURLを開くことができます。
しかし一つ注意点!これだけではセキュリティ面に不安があるという
Tweetを発見したので少し検索してみました。

解決方法はrel="noopener"を付けるというものでした。
内部リンクの場合は問題ないそうですが、外部リンクが貼ってある場合は
この記述を追加して

<a href="https://note.com/notes/new" target="_blank" rel="noopener">
  note
</a>

こんな感じで記述します。
ちなみに"noopener"って何??

元タブと新しいタブで別スレッドになるため、新しいタブから元タブへの操作を制御することができます。 noopenerを付けないと、JavaScriptでwindow.openerというオブジェクトが操作できるようになり、
新しいタブで開いたページから元タブのページの操作が可能となります。
いつも参考になるMDNサイト↓
https://developer.mozilla.org/ja/docs/Web/API/window.opener

つけないとどうなる??

開かれたリンク先のページに悪意をもったJavaScriptが記載されていれば、リンク元であるページを好きに改ざんされてしまう可能性がある。

何も知らずにblankにしていましたが、これから個人アプリを開発して
デプロイしていくのでこういったセキュリティやパフォーマンスも
意識しなくてはいけないなと感じました。
このnoteにあげようと思わなければ調べなかった内容なので
アウトプットこそ最高のインプットとはよく言ったものですね。

CSSでform入力の高さ(height)幅(width)指定をする

今まではHTML側で指定していました。
高さであれば rows="10"
幅であれば  size="100"
しかしCSSで指定した方がフレキシブルなサイトにするときに便利と思い
方法を検索した結果、結構簡単に実装できました。
このような記述で実装できます。
ちなみにtype=のあとの名前はHTML側のfield名を入力してください。

--CSS--
input[type="text"] { 
  width: 100px; 
  height: 100px;
}

おまけ(昨日の困った話)

エディタはVScodeを使用しているのですが
command + ろ を押してしまい、画面が縮小して文字がめちゃくちゃ
小さくなってしまいました。ヤッベどうしよう(汗
解決方法
command + shift + "+"キーで拡大できました。
予期せぬことが起きるたびに学びになる
そんなプログラミングが大好きです。

ここまで読んでいただきありがとうございました。
Twitterでもプログラミングに関することを日々呟いています。
https://twitter.com/john01tgmck


この記事が気に入ったらサポートをしてみませんか?