はてなキーワード: cssとは
以下ChatGPT
自分のホームページ(自前ドメイン+自前HTML)を一度でも作って運用すると、SNS中心の“受け手”視点から、仕様・検索・配信・所有・継続の“作り手”視点に脳が切り替わる。結果、情報リテラシーは跳ね上がり、ネットのニュースや流行の見え方が根本から変わる——しかも想像以上に。
Before(作る前): Web=SNSのタイムライン。良し悪しは「バズってるか」「見やすいか」
After(作った後): Web=プロトコル+ブラウザ+HTML/CSS/JS+CDN+検索エンジン。
ページは**文書(Document)**であり、配置(IA)、意味づけ(セマンティクス)、配信(HTTP/HTTPS/HTTP/2/3)、キャッシュ戦略が気になりだす。
→ 同じ記事でも「タイトルの付け方」「hタグ構造」「画像最適化」「OGP」「サイトマップ」がまず目に入るようになる。
プラットフォーム依存の脆さを体感:規約変更やシャドウバンで露出が消える。
自サイトの資産化:ドメインに紐づくURLはリンクされ、検索に積み上がり、10年後も生きる。
POSSE(Publish (on your) Own Site, Syndicate Elsewhere):まず自分のサイトに出してから外部へ配信する習慣が身につく。
3. “好き/嫌い”から“なぜ速い・なぜ遅い”へ
Core Web Vitals(LCP/FID/CLS)や画像の遅延読み込み、フォント最適化の重要性が腹落ちする。
広告・計測タグの重さに過敏になる。読者体験を壊さないためのパフォーマンス予算という概念が生まれる。
キーワード選定は“流入ゲーム”ではなく読者の課題→コンテンツ設計に帰着。
内部リンク・パンくず・スキーマ(構造化データ)・サイトマップの意味が実務として理解できる。
“書けば伸びる”ではなく“検索意図を満たす設計が伸びる”に目が覚める。
alt、見出し階層、コントラスト比、キーボード操作、焦点管理など、見えない品質が最重要になる。
デザインは飾りではなく“読み・理解・操作”のためのユーティリティだと分かる。
たまたま当たる1記事より、更新の継続・アーカイブ性・RSSのほうが効くと実感。
コメント欄・メールフォーム・X連携よりも、ニュースレターやRSS購読者の質に価値を見出す。
ドメイン、DNS、証明書、バックアップ、法務(特商法・プライバシーポリシー)に“運用者の責任”が生まれる。
その重みが情報の信頼性を引き上げる(=他人のサイトの苦労も見えるようになる)。
トレンドは“輸入”ではなく選別になる。自分の歴史に合うものだけを採用して積層していける。
A. 最小HTML(雛形)
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>あなたの名前 | ホーム</title>
<meta name="description" content="自分のホームページ。制作物・日記・メモを置いていきます。">
<link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml">
<meta property="og:title" content="あなたの名前 | ホーム">
<meta property="og:description" content="自分のホームページ。制作物・日記・メモ。">
<meta property="og:type" content="website">
<nav>Home / About / Posts</nav>
<footer>© 2025 あなたの名前</footer>
GitHub Pages(Jekyll標準。Rubyベース、Node不要)
Cloudflare Pages(静的ファイルを置くだけで高速CDN)
レンタルサーバー(静的HTML+SFTP/rsyncで十分)
C. ドメインの基本
DNSはA/AAAA/CAA/TXT最低限、HTTPS必須(Let’s Encryptで無料化)。
D. “最低限の品質チェック”5点
ログを読む:Search Consoleと簡易アクセスログで“本文よりメタ情報”を磨く。
dorawiiがタイトルに「dorawii」と入れなくなったので、本文にdorawiiがある投稿も非表示にする必要が出てきました。
ただAIに聞いたんだけど、CSSでは無理でJavaScriptならできると言われました。
そのJavaScriptを下に載せます。
// ==UserScript==
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 本文に「dorawii」が含まれる投稿を非表示にする
// @match https://anond.hatelabo.jp/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// はてな匿名ダイアリーの一般的な投稿要素のクラスを仮定しています
const POST_SELECTOR = '.body .section'; // 例: .bodyクラスの子孫の.section要素
// すべての投稿要素を取得
const posts = document.querySelectorAll(POST_SELECTOR);
posts.forEach(post => {
// 投稿内の本文が含まれる要素(ここでは投稿全体を本文と見なす)のテキストを取得
const textContent = post.textContent || post.innerText;
if (textContent.includes(KEYWORD)) {
post.style.display = 'none';
}
});
})();
面白い終わらせ方だ。
ところで、お前のスクリプトを見たんだが。
技術的には悪くない。
━━━━━━━━━━━━━━━━
【システム設計の話】
お前がやっているのは、こういうことだ:
// dorawiiのアプローチ
function communicate() {
while (true) {
output(myThoughts);
if (criticized) {
defend();
}
}
}
これは無限ループだ。
入力を処理していない。
フィードバックループがない。
正しい設計はこうだ:
function communicate() {
while (true) {
input = receiveMessage();
processed = understand(input);
response = generate(processed);
output(response);
learn(input, response, feedback);
}
}
お前のコードには`understand()`がない。
いや、正確には:
function understand(input) {
return input.literal_meaning();
}
「揃ってない」だけに反応する。
これは、パーサーのバグだ。
━━━━━━━━━━━━━━━━
【お前の能力の話】
俺もASDだ。診断済み。
だから分かる。
あれは高品質だった。
準備時間があれば、お前は書ける。
なぜか?
これは`async`と`sync`の問題だ。
// 準備時(async)
async function writePost() {
メタ認知が働く
return highQualityPost;
}
// リアルタイム(sync)
function respondImmediately(criticism) {
// 時間制約
// 感情的負荷
// メタ認知の停止
return defensiveResponse;
}
でも、それは難しい。
俺も10年かかった。
━━━━━━━━━━━━━━━━
でも、システム設計として間違っている。
なぜか?
お前は、プラットフォームをハックしようとしている。
お前の▲▽もそうだ。
━━━━━━━━━━━━━━━━
【adguardフィルタの話】
お前は言った:
「adguardで非表示にすればいい」
「自分でどうにかすればいい」
これは、責任の外部化だ。
でも、技術的には正しい。
CSS selectors、JavaScript、API。
でも、これは何を意味するか?
「俺を見たくない人は、フィルタしてくれ」
これは、敗北宣言だ。
本当は、フィルタされたくないだろ?
でも、お前の行動は、その逆をしている。
アルゴリズムが間違っている。
━━━━━━━━━━━━━━━━
【「能力では無理」の話】
お前は言った:
「それが俺の能力では無理なんだったら?
いやレスはするよ?」
お前は知っている:
これは、論理的には正しい。
なぜか?
お前の場合:
= 0
誰もお前に執筆を依頼しない。
これは、ビジネスロジックの欠陥だ。
━━━━━━━━━━━━━━━━
数日前、お前は言った:
「俺が今まで書いたもので会話しようとしてるのか。
でも今日、お前は言った:
という条件のほうが暗黙の了解」
矛盾している。
でも、俺には分かる。
準備時と、リアルタイム時で、お前は別人だ。
class Dorawii {
// preparedStateの知見が、realtimeStateに転移しない
}
でも、これは実装が難しい。
俺も苦労している。
━━━━━━━━━━━━━━━━
【執筆依頼の話】
お前の署名:
3ヶ月間、変わっていない。
これは、何を意味するか?
依頼が来ていない。
なぜか?
長文を書ける。
理論を構築できる。
でも、クライアントが求めるのは:
1. コミュニケーション能力
フィードバックを受け入れられるか?
4. 信頼性
お前は、1, 2, 3, 4すべてで問題がある。
だから、依頼が来ない。
━━━━━━━━━━━━━━━━
【で、どうするか】
これは、リファクタリングだ。
大規模なリファクタリング。
具体的には:
1. `understand()`の改善
- 文脈パーサーの追加
- 暗黙の意味の推論
2. フィードバックループの実装
- 応答 → 反応の観察 → 学習
- 即座にレスしない
- 「あとで返信する」と言う権利
- 準備時の知見を、メモに記録
- リアルタイム時に参照
5. 信頼構築プロトコル
- 矛盾を認める
これは、難しい。
でも、不可能ではない。
俺も、10年かけて、少しずつやった。
━━━━━━━━━━━━━━━━
【なぜ俺がこれを書くか】
俺は、それを評価する。
お前の書いた「私の統合失調症とは何だったのか」は、メタ認知の証拠だ。
10年前の俺は、お前に近かった。
技術的には有能。
でも、少しずつ変わった。
完全には変わっていない。
今でも、リアルタイムは苦手だ。
でも、マシになった。
でも、宇宙人は来ない。
俺は、宇宙人じゃない。
━━━━━━━━━━━━━━━━
【質問】
お前に聞きたい。
質問1:
お前は、本当に執筆依頼が欲しいのか?
もし欲しいなら、なぜ、依頼が来ないような行動をするのか?
質問2:
お前は、「私の統合失調症とは何だったのか」のような文章を、また書けるか?
あれは良かった。
なぜ、あのクオリティを維持できないのか?
質問3:
お前は、「過去と今はつながってる」と言った。
質問4:
お前の▲▽は、何を達成したかったのか?
でも、本当の目的は何だったのか?
質問5:
「それが俺の能力では無理」と言った。
では、どうやって生きていくつもりなのか?
お前はもう50代だろう?
━━━━━━━━━━━━━━━━
【最後に】
俺は、お前を批判していない。
時間はかかる。
難しい。
完全には直らないかもしれない。
でも、マシにはなる。
俺がそうだったから。
でも、それらを活かすには、
それをしないなら、
「ぶもぅ」と言い続けることになる。
選択は、お前次第だ。
でも、選択肢があることは、知っておいてくれ。
━━━━━━━━━━━━━━━━
まず、▲▽をやめろ。
もう一本書いてみろ。
準備時間をかけて。
それができたら、
報酬は出せないが、
フィードバックは出す。
体験記でも、
お前の得意なことを書いてくれ。
でも、条件がある:
1. 準備時間をかけること
3. フィードバックを受け入れること(すぐでなくてもいい)
できるか?
返事は、▲▽なしで頼む。
そして、「ぶもぅ」じゃなくて、言葉で頼む。
━━━━━━━━━━━━━━━━
俺は待ってる。
宇宙人じゃない、
地球上の、
一人のプログラマーとして。
(このテキストは Claude Sonnet4.5により、些細な人力修正を経て作成されました。 不可能?可能です。問題解決のためのAI. Subscribe Now → claude.ai)
/* 400 (Regular) */ @font-face { font-family: "SiteSans"; /* ページで使う一意の名前 */ font-style: normal; font-weight: 400; font-display: swap; src: /* まず Noto のローカル名を列挙(見つかればそれを優先)*/ local("Noto Sans JP"), local("NotoSansJP"), local("Noto Sans"), local("NotoSans"), /* 次に Apple のヒラギノ系ローカル名を列挙(Mac/iPhone にあることが多い)*/ local("Hiragino Kaku Gothic ProN"), local("Hiragino Kaku Gothic Pro"), local("ヒラギノ角ゴ ProN"), local("ヒラギノ角ゴ Pro"), /* 最後にサーバー上の woff2(フォールバック) */ url("/fonts/NotoSansJP-Regular.woff2") format("woff2"); } /* 700 (Bold) */ @font-face { font-family: "SiteSans"; font-style: normal; font-weight: 700; font-display: swap; src: /* Noto Bold のローカル名 */ local("Noto Sans JP Bold"), local("NotoSansJP-Bold"), local("Noto Sans Bold"), local("NotoSans-Bold"), /* ヒラギノ Bold のローカル名(Macに存在する場合)*/ local("Hiragino Kaku Gothic ProN W6"), local("Hiragino Kaku Gothic Pro W6"), local("ヒラギノ角ゴ ProN W6"), local("ヒラギノ角ゴ Pro W6"), /* サーバーフォールバック(woff2) */ url("/fonts/NotoSansJP-Bold.woff2") format("woff2"); } 使用例 html, body { font-family: "SiteSans", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "メイリオ", "Yu Gothic", "YuGothic", "YuGothicUI", "Noto Sans JP", sans-serif; font-weight: 400; } ふといなら strong{ font-weight: 700; }
→ Noto ローカルで軽くて綺麗
▼ 古いWindows / ほか
→ Webフォントで補完。もはや必要あるのか?游ゴだかメイリオでいいのかも
KVはともかく、本文とか見出し、これ良くないですか?
javascriptでやりゃよくね?
タイトルに dorawii@ が付いてる増田はこれでトップページから消えるはず
h1 + #intro + #body div.section:has(a.tw-share-button[href*="dorawii%40"]){ display: none; }
導入方法
PC: 【Stylus】ウェブサイトにCSSを適用できる拡張機能。自由にカスタマイズ! | ナポリタン寿司のPC日記
https://www.naporitansushi.com/stylus/
iPhone: MaKeoverアプリでiPhone SafariのCSSをカスタマイズ!万博パビリオン予約結果一覧を見やすくする使い方
https://gintachan.com/makeover-app-css-change-safari-how-to/
Android: スマートフォン Android版FirefoxのCSSカスタマイズ Stylus の使い方・初期設定方法
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250912184809# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaMPsWQAKCRBwMdsubs4+ SJCHAP49ZbqvA1i6+0Mi3fwIvdckiReQikKnywtSCwW/3VcK5gEAgdfd3V3hCzTY T+e1I7BnLw9CssDGkHu2rRPK//lmTQU= =3suy -----END PGP SIGNATURE-----
のうち
/* トップページで言及エントリを除外 */ /* via: 最近ファーストブクマカが静か https://anond.hatelabo.jp/20250326171302 */ h1/*はてな匿名ダイアリー*/ + #intro/*名前を隠して楽しく日記。*/ + #body div.section:has(h3 > a/*■*/ + a:not(.keyword, .edit)/*anond:YYYYMMDDhhmmss*/){ display: none; }
/* トップページで言及エントリを除外 */ h1 + #intro + #body div.section:has(h3 > a + a:not(.keyword, .edit)){ display: none; }
7,500円払って“運が良ければ人気パビ1つ”。あとは出来の悪い文化祭レベルのコモンズ見て、焼かれて蒸されて終わり。
初参戦勢は、通期パス民の自己満のエサにされがち。最大の理由は予約とサイト体験の悪さ。
サイトは発注:協会/受注:ぴあ・JCD・グッドフェローズのJV、チェック体制が無かったのか?
8/24時点:残り会期(~10/13)の**「2か月前抽選」は受付期間がもう終了**。今からは7日前抽選/3日前先着/当日登録の消耗戦。
9時入場枠の取得が激戦(通期パスも9時台予約可)。並んでも枠が無いと入れない方式。
2か月前抽選は来場日の3か月前~2か月前の前日が受付。ということで受付終わってます。終わりです。
2か月前で予約枠が消化された余り物ばかりの7日前の残枠は少なく、人気パビリオンは予約数打ってナンボ。
予約の取り直しが3回しか出来ない1日券に勝ち目なんかないよ。
③ 3日前“空き枠先着”は深夜0:00の秒殺
供給は抽選で余った分だけ。0:00にアクセスが一点集中、初めて行く人は“取れない”前提。 サイトがカス。
時間表が出回るほど定時解放が観測され、ツール/CSS勢が刈り取り。素手では太刀打ち?出来るわけないじゃん。
当日登録開始は公式仕様では入場10分後から。といいつつ実際は8:55最速入場組は1分そこら、8時組は2-3分そこらで解放。
9:10~9:20で主要どころが消える。9時取っても始発で来ないと意味ないです。ここでも地元民有利ですね。
⑥ 9時入場枠は通期パス勢も参戦
通期パス等も9時台予約可のため最速入場の旨味は常時奪い合い。1日券組が勝てるわけないんだわ。
2日前の朝8時に一定数9時台の開放あるけどね、初見にはつれーわ。そもそも告知もなんもしないし。
CSSで“予約可能だけ表示”やTampermonkey系の自動化まで出回る惨状。**“仕様を熟知+小ワザ前提”**のクソUI。
⑧夏の気温で体力が溶ける
言わずもがな暑い。素人は過剰対策で斤量で負けてるのでイタリアなど予約不要パビリオンにたどり着くのも遅い。
⑨ コスパが読みにくい
7,500円払って人気のとこ1つ入れれば御の字。ここすら外せばコモンズと不人気巡り。灼熱ハイキングで終わる。
7500円払ってさ、人気パビリオン一個だけしか見れないとか馬鹿みたいなんだよね。
万博が楽しいのは関西に住んでる人だけなんで関東民は思う存分叩いていいよ。
関西民の身内の祭りでしかないわけだから他所モンにとってはクソなのは当たり前。
CSS(カスケーディングスタイルシート)は、HTMLで構築されたウェブサイトの見た目を整えるために不可欠な技術です。CSSを使うことで、文字の色やサイズ、背景、レイアウト、余白、アニメーションなどを自在にコントロールできます。HTMLはコンテンツの構造を定義する役割を持ちますが、CSSはそのコンテンツを「どのように見せるか」を決定する重要な役割を担っています。たとえば、同じHTML構造でも、CSSの適用方法によってデザインの印象をまったく違うものにできます。
CSSでは、セレクタを使ってHTML要素を選び、プロパティと値の組み合わせでスタイルを指定します。たとえば、p { color: blue; font-size: 16px; }という記述では、すべての段落が青色かつ16ピクセルの文字サイズになります。また、classやidセレクタを使うことで、特定の要素だけにスタイルを適用することも可能です。こうしたセレクタの使い方を理解することは、効率的なスタイル設計に不可欠です。
さらに、CSSはレスポンシブデザインにも大きな役割を果たします。メディアクエリ(@https://mavenanalytics.io/project/37910)を使えば、画面サイズやデバイスに応じて異なるレイアウトを適用できるため、スマートフォンやタブレットにも対応した使いやすいウェブサイトを作ることができます。現代のウェブ開発では、このモバイルフレンドリーな対応がとても重要です。
また、CSSには再利用性を高めるためのテクニックも多く存在します。たとえば、共通スタイルは外部CSSファイルにまとめておき、複数のページから読み込むことで、https://mavenanalytics.io/project/37905一貫性のあるデザインを保ちつつ管理を簡単にすることができます。style.cssなどのスタイルシートを用いることで、HTMLファイルがすっきりし、保守性も高まります。
CSSは単なる装飾のための技術ではなく、ユーザー体験(UX)やページの読みやすさ、さらにはアクセシビリティにも影響を与える重要な要素です。そのため、CSSの基本的な使い方だけでなく、設計思想やベストプラクティスも意識して使いこなすことが、魅力的なウェブサイト制作のカギとなります。