今さら聞けないHTML 2023年09月14日

今さら聞けないHTML 2023年09月14日
目次

【HTML&CSS】花火

# はじめに
HTML5プロフェッショナル認定試験の勉強をしている中で、ふと、花火が作れそうだなと思ったことがきっかけです。
ネットで探してみると色々な花火がありましたが、下記の花火がとてもキレイだったので、CSSをアレンジさせて頂くことにしました。
– [HTMLとCSSだけで花火をつくる【canvas/JavaScript不使用】](https://zenn.dev/yurukei20/articles/30f6fb5bbd91e3)
– [上記記事が参考にしたCodepen](https://codepen.io/alvaromontoro/pen/QWQWjrj)

# アレンジした花火
こんな感じにアレンジさせて頂きました!
 ① 背景色を夜になったばかりの色に
 ② 花火が開いた後にピカッと
 ③ 花火の粒子を増やしてリッチに
 ④ 花火の粒子が丸くなるようにサイズ調整
 ⑤ それぞれの花火の粒子の色は全て同じに

はじめてのWebRTC

# **WebRTCって何?**

「Web Real-Time Communication」

Webブラウザ同士でリアルタイムにデータのやり取りをする仕組みのこと。
大容量の映像や音声データをリアルタイムに送受信できる。
WebRTC は P2P を利用したブラウザ同士を前提とした技術として作られている。

現在は、デスクトップとモバイルの「Google Chrome」「Safari」「Firefox」「Opera」等ほぼすべてのブラウザで利用できるようになっており、余計なプラグインのインストールは不要。ブラウザさえあれば使用可能。

WebRTCは通信をP2Pで行うため、サーバーを介さずリアルタイムのやり取りが可能。P2Pが使われるサービスは、たとえば「LINE」「Spotify」「BitCoin」「Ethereum」など。

※上記のサービス例は、WebRTCは使用されていないが、通信はP2P

# **WebRTCでできることの例**

・リアルタイムなコミニュケーションの為のデバイス(マイク・カメラ)管理・スクリーンキャプチャ
・デバイス認識・選択
・デバイスから取得した大

元記事を表示

【HTML】要素解説!インライン要素とブロック要素の違い

# はじめに
こんにちは、エンジニア2年目の嶋田です。
まずは、この記事を開いていただきありがとうございます!
今回はインライン要素とブロック要素の違いやそれぞれのできること、できないことについて解説していきたいと思います。
是非、最後までお付き合いください!

# 目次
– [インライン要素とブロック要素](#インライン要素とブロック要素)
– [インライン要素の例](#インライン要素の例)
– [ブロック要素の例](#ブロック要素の例)
– [インライン要素とは?](#インライン要素とは)
– [インライン要素のできることとできないこと](#インライン要素のできることとできないこと)
– [ブロック要素とは?](#ブロック要素とは)
– [ブロック要素のできることとできないこと](#ブロック要素のできることとできないこと)
– [インライン要素とブロック要素の違い](#インライン要素とブロック要素の違い)
– [最後に](#最後に)

# インライン要素とブロック要素

HTMLやCSSでは、要素の表示方法を大きく分けて「インライン要素」と「ブロック

元記事を表示

ソースコードの整理は大変な作業

# はじめに
世の中には、有料、無料のソース管理のパッケージはいろいろありますが、ここでは、それらの製品は使わず、使用している開発ツール(NetBeans8.2 IDE)内のフォルダーに保存しているソースファイルについての話です。
NetBeans8.2 IDEの開発エデイターでプログラムを作成し、保存しますが、これが、大量に溜まってくると、あとで、見返したときに、何が何だか分からなくなっています。
一応、フォルダーはサイトごとに作成しています。その中に、さらにcss,images,js他を作成してファイルを保存しています。htmlとphpファイルは親フォルダーに保存しています。ここで、問題になるのは、例えばjsフォルダーや親フォルダー内のhtmlやphpファイルです。それらのファイルは、たくさん出来上がります。ファイルの名称をうまく命名できれば、まだ助かりますが、面倒がって、いい加減に命名しているとあとで、何が何だか分からなくなります。

Qiitaの記事の画像のサイズを変更する方法

– Qiitaで記事投稿を執筆する際、画像を挿入したのですが、サイズが大きすぎてみづらいと感じました。
– htmlタグがそのままQiitaの投稿編集に使えるということを知った。
– 画像アップ時の表示サイズを変更する方法について、備忘録としてここに記録します。

## Qiita投稿記事にて、画像をアップする際、表示サイズがデカすぎる

– 以下のようにやればOK

“`

“`
– 以上。
– サイズは50%だけでなく、任意のパーセンテージ表示に変えてOK

## 参考サイト

https://qiita.com/soratyan/items/6c47abaf92dded703d0c

オーダーメイドリングのシミュレーターをJavaScriptでオブジェクト指向型に作ってみた

![Animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2713225/166dcb72-7c0d-8bc6-a267-86dbb31f85d6.gif)

実際のオーダーメイドリングのページ
https://www.rakuten.ne.jp/gold/million-bell/ordermade_ring.html

# こんな方におすすめ
JavaScriptのclassを用いたメソッドの再利用方法の学習・復習をしたい方

楽天Gold等のHTML・CSS・JavaScriptしか使えず、FTPでデータをアップロードする環境の中で動的なページを作りたい方

# 初めに
以前のオーダーメイドリングシミュレーターは静的なページを数十個用意して運用していたのですが、以下の理由で作り直そうと思いました。

・価格改定や商品仕様の変更があった際の編集作業が大変

・オーダーメイドリングの項目を選択度にページ遷移があるためスマホでのユーザビリティがあまり良くない

・UIが古臭くブランディング

Vueで生成されるHTMLタグを任意に変更できるButtonコンポーネントをつくる

こんにちは。齋藤([@wtoddev](https://x.com/wtoddev))です。
久しぶりのQiita投稿になります。(最近、あまり明文化されたアウトプットができていない気がする。気をつけなければ。)

今回は、Vue.js(Nuxt)な環境でデザインシステムやコンポーネントライブラリを実装する上で、レンダリングされて吐き出されるHTMLのタグを任意に変更できるような再利用性の高いButtonコンポーネントの作り方について記したいと思います。

## 実現したいこと
– UI的に原子的なButtonコンポーネントを作る
– そのコンポーネントを利用する場合に、最終的に吐き出されるHTMLのタグが任意に指定できるようにする(`aタグ`や`buttonタグ`などを選べるようにする)

### 実証環境
今回の実証環境は以下の通りになります。
“`
├── @nuxt/devtools@0.8.2
├── @nuxt/image@1.0.0-rc.1
├── nuxt@3.7.0
└── sass@1.66.1
“`

## 実装してみる
Vueの`component`要素と

section, article, asideタグの使い分け

?セクショニング系タグ使い分け

?section:
  章や区切りなど。汎用的に使える

?article:ひとつの記事。
  記事一覧では記事タイトル毎で囲う。
  (冒頭の本文テキストなどがあればそれも)

?aside:補足情報。
  サイドバーや広告など関連する情報を囲う

(画像は使用例です)

![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525847/0dd8856a-cd7a-1e8e-20fe-54863cad26a5.png)

![Untitled2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525847/9235b1e9-cf1b-8f6d-917e-3293cd9c2380.png)

お手軽に電子ドラッグ

## コード

以下をブラウザのコンソールに貼り付けて実行してください。

“`js
function getAllElements(currentWindow = window) {
let elements = [];
try {
elements = […currentWindow.document.querySelectorAll(“*”)];
const iframes = currentWindow.document.querySelectorAll(“iframe”);
for (const iframe of iframes) {
elements = elements.concat(getAllElements(iframe.contentWindow));
}
}
catch (e) {
// DOMException: Blocked a frame with origin XXX from accessing a cros

JSでgithubの草を作る(Cal-Heatmap)

# Cal-Heatmap
githubの草(ヒートマップカレンダーと言います)のようなグラフをwebアプリで実装しようと調べまくってた時に、結構良いライブラリを発見したので、書いていきたいと思います。
jsonのようなデータを入れるだけで、カレンダーを一発で生成でき、かつ細かい設定もいじることができる優れものです。cssの羅列を書くよりはよっぽどマシだと思いました。

https://cal-heatmap.com/

めっちゃがんばると、こんなのができたりします。そっくりですね
![スクリーンショット 2023-09-09 10.17.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3092163/323e9774-d1df-028d-01e9-b19ce767a55a.png)

# インストールとか
CDNとNPMに対応しています。

### CDN
“`html:index.html

![リリースノート](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/9d50abd7-7769-1cc4-62ec-766368f49d3d.png)

この機能を使うと、ローカルにあるサーバにインターネットからアクセスできるようになります。
同様のことを実現するものには、有名どころの 1つに「[ngrok(エングロック)](https://ngrok.com/)」があったり、[その他にもたくさんの類似サービスがあります](https://github.com/anderspitman/awesome-tunneling)。

## 実際に VSCode の built-in port forwarding を試してみ

【非推奨】GoogleフォームをカスタマイズしてWebサイトに組み込む

Webサイトにカスタムのフォームを用意してあげたいけど、バックエンドを開発する予算と余裕がないよ、という場面で、絶対推奨できるものではないけれどもなんとかやりくりする方法です。
Googleフォームをカスタマイズして埋め込みます。

## 実現したいこと
- Webページにフォームを設置する
- 回答を収集する
- 回答を受け取ったらメール通知する

## 使用するもの
- Googleアカウント(無料版でOK)
- Googleフォーム

## 制作手順
### Googleフォームの作成
普通に要件に沿ってGoogleフォームを作成します。
https://www.google.com/intl/ja_jp/forms/about/

### 作成したフォームの情報を取得
1. actionに指定されたURL
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490854/34cad793-d9fe-45e2-c29b-17b0d73000ef.png)

2. 各input項目のna

変なところで折り返されて文章が読みにくいときは、spanとdisplay: inline-blockの出番!

?変なところで折り返されて文章が読みにくい!!
 ?spanとdisplay: inline-blockの出番!

①折り返したく無い分のかたまりをspanタグで囲む
②↑のspanタグに、display: inline-blockを指定する

こんなに読みやすくなります✨
(HTMLが少し汚くなるのが難点)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525847/42004067-4169-67b5-ee01-ae907404274d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2525847/4f35d373-0ba5-a70d-d3a8-2e329e4d46bf.png)

~~~html:index.html

お客様にとって、不動産に関する情報が入手しにくい、

CSSとHTML

時計やストップウォッチはプログラミングではなくjavascriptでもできそうだと分かりました。
色んな色やデザイン違いを作りたいと思うとjavascriptのほうがよさそうですね。

とは言え、CSSとHTMLにも全く触れたことがないので、ドットインストールで一番最初の学習を進めました。

9/7paizaラーニングでJavaScript体験編というのがあり受講。ぼんやりとjavascriptのさわりは分かったかも。

複数チェックボックスで要素の表示非表示を切り替える

備忘録と勉強のために残しておくだけ。

# 要件

1. 以下の項目を記載したチェックボックスを作成
・りんご(value = apple)
・バナナ(value = banana)
・みかん(value = orange)

2. 各項目のvalueと同じクラス名をもつdivを作成

```

りんご
バナナ

...
```

3. 2で作成したdivの初期状態は非表示

4. 1で作成したチェックボックスをオンにしたら、valueに対応したdivに.selectedクラスをつける

5. .selectedがついたdivを表示する

6. チェックボックスはオフになったら、対応しているdivの.selectedクラスを削除する

## コードとデモ
JSに関してはコードの中にコメントあり。

labelのforとinputのidの関係性の備忘録

毎度忘れるので記事にします。

# そもそも`

キャプションをつけることができるものは labelableな要素と呼ばれ、以下だそうです。
- button
- input
- meter
- output
- progress
- select
- textarea

## じゃあfor属性とは?
labelが「キャプション」である以上、その対象となるアイテムがあります。そのアイテムと、labelを紐づけるための属性です。

## labelとlabelableな要素を明示的に結びつける方法
まず、labelableな要素に`id`を設定します。
これに対して`for`属性を持つlabelは、ドキュメントの最初に出てきた`for`と同じ値の`id`をもつlabelableな要素に関連づけられます。

従って、同じ`id`をもつlabelab

【Angular】サバイバルTypeScriptの猫画像ジェネレータを実装するよ

Angular CLI: 16.1.5

Angular: 16.1.6

[前回](https://qiita.com/SZR/items/a7a5145fea474663dce8)
の続きです。
業務で人生初のフロントエンド開発をAngularで行うことになりAngularのチュートリアルを一通り実施後、TypeScript未経験なこともありそちらの学習も兼ねて、サバイバルTypeScriptを敢えてAngularで実施しました

フォルダ構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728856/ce9c31c5-35fd-57b3-37b3-98d25d8c68aa.png)

```TypeScript:app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppRoutin

【自作サイト紹介】Tailwind CSS入門ついでに自作アプリをまとめてみた

# Introduction

群雄割拠の CSS フレームワーク界隈、ML エンジニアの私にはついていけておりませんが、`Tailwind CSS`が簡単に扱えそうだったので試してみました。

https://tailwindcss.com/

ちょうどペンギンの教師データ作成中でペンギン画像が溜まったことも重なり、折角なのでペンギンに溢れたポートフォリオまとめサイトを作りました。
本記事はこのサイト紹介記事です。

**本記事が少しでも読者様の学びに繋がれば幸いです!**
**「いいね」をしていただけると今後の励みになるので、是非お願いします!**

## 環境

Ubuntu22.04

## Tailwind CSS の使用感

数日しか触っていないので恐縮ですが、ざっくり使用感をまとめます。[^1]
[^1]: Web 開発はほぼ経験ない私なのであくまで参考程度に。実務で CSS 実装する際は Google 先生と二人三脚しています。

※アプリを先に見たい方向けに折り畳んでおきます。

======================

【CSS】数秒だけ表示されたのちフェードアウトする吹き出しを超簡単に作る【Copied!】

## 前書き

数秒だけ表示されたのちフェードアウトする吹き出しを簡単に作れる関数を作った。
という話。

別にCSSでもできますが、事前に幅を指定する必要があったりで可変ではないのが嫌だったので汎用的に使える関数を作りました。

## サンプル

https://mogamoga1024.github.io/fukidasi.js/sample.html

## 結論

fukidasi関数を使おう!

```js:fukidasi.js
/**
* elTargetの吹き出しを表示する
*
* ・(大前提)elTargetはposition:relativeであること!
*
* ・吹き出しの位置はoptionsOrFukidasiPositionにてfukidasiPositionプロパティで指定できる。
* 値は"top"|"left"|"right"|"bottom"、デフォルトは"bottom"
* もしくは"top"|"left"|"right"|"bottom"で直接指定できる。
*
* @param {HTMLElement} elTar