CSS の基本

CSSセットの構造

1 規則セット

セレクターリスト
複数のセレクターをコンマで区切って並べ、それに対して共通のスタイルを適用します
      
セレクタは、どのHTML要素にスタイルを適用するかを指定します。例えば、要素のタグ名(例:p)、クラス(例:.className)、ID(例:#idName)などが使用されます

セレクターリストの使用例

宣言ブロック
 { 
宣言ブロックは、中括弧 {} で囲まれ、その中にスタイルのプロパティと値のペアが記述されます。各プロパティと値はコロン(:)で区切られ、セミコロン(;)で終了します。
宣言
プロパティ : 値; 
 } 
以上を ルール(規則)セットという

CSSとはカスケーディングスタイルシートの意味

2 プロパティ

プロパティ(property性格特性情報)数多くあるので標準参照となるMDN の一覧を参考にする

CSSリファレンスで調べる値も同じリファレンスで色の例や構文など参考に決めるとよい 又、VSコードのカラーピッカーで種類・色値・透明度が簡単に選択できるから便利。

marginはよく使われているショートハンド記述google検索

プロパティ値関数 calc() を使うと計算 例えば引き算・割り算をwidth の値に使うと便利{width:calc(100% / 3);}など・・こちら

CSSフォントの説明をまとめ

font-sizeプロパティ

displayプロパティ

フレックスコンテナのプロパティ

displayのキーワード値Gridを使ってページを作ってみた

戻る          

3 セレクター 分類

 要素・クラス・IDによるセレクター

タイプセレクター(div,p header,-など)

class こちら優先

id

ユニバーサルセレクター *部分で使うとき<articl>だけの時articl*でOK

属性によるセレクター

<a href="https://www.yahoo.com"></a> の例で説明

存在や値のセレクター  a[href]{ }  はaタグのhref要素だけ指定している

部分文字列一致セレクター a[href="https://www.yahoo.com"]{ }  はaタグのhref要素のhttps://www.yahoo.comだけ指定している

部分文字列一致セレクター(前方一致)  a[href^="https://www"]{ }  はaタグのhref要素の前方だけ指定している

部分文字列一致セレクター(部分)    a[href*="yahoo"]{ }  はaタグのhref要素のyahooだけ指定している

部分文字列一致セレクター(最後)    a[href$=".co.jp"]{ }  はaタグのhref要素の.co.jpだけ指定している

疑似クラス及び疑要素によるセレクター

<article><p>タグの例で説明

ー:first-child, :first-of-type -- article p:first-of-type{ }  はarticleタグのp要素で始まるものだけ指定している

 last-of-typeもあります --  article p:nth-of-type(2){ }は2列目だけ指定

ー:not  -- article p:not(:first-of-type){ }  は:first-of-tye以外のものだけ指定している

ー:hover --  p:hover{ }  はカーソルで触れたときだけ指定している  p:not(:hover){ }にすると逆で触れると消える

ー::after ::befor --  h1::after{ content: "!!!" }は後ろに !!!が付く 前もできる

ー::first-line -- p::first-line{}は一列目だけ色を変えるなど p::first-letter{}は最初の文字だけ

結合子

ーdescendant combinator(子孫結合子) main article h1{}は mainの中のarticleの h1だけ指定

ーchild cobinator(子結合子)     main > h1{}はh1だけ指定

ー     隣接兄弟結合子     article p + p{ }   は<p></p>が数列あるとき隣接の2番目だけマージンや色を付けるなどとき

ー     一般兄弟結合子      article h1 ~ p{ }  はh1の後ろだけマージンや色を付けるなどとき

ー     

MDN参考に必要に応じてMDNを見て下さい

4 カスケード・詳細度・継承 について

カスケード cascading( 滝のように連鎖的流れるの意 )

CSSルール順序  同じh1だと後に書いた色が出る

カスケード順1と3が重要

詳細度

複数のルールが適用された場合の優先度#優先 .が次 h1などが次の順

詳細度の項を見て下さい インラインスタイルは1000なので一番優先

詳細度のスコアリング スコアリング見方

!important h1 { color: orange !important;} が最優先される が多くは使わない

承継

親要素から子要素へプロパティ値を引き継ぐ

承継の抑制

inherit,initial,unset

親の値引継デフォルト値inheritがあればinheritなければinitial

color: red; color: inherit; color: initial; color: unset;

全てのプロパティ値のリセット

「イニシャル」の翻訳、初期、頭文字

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</title>
<style>
    div {
        background-color: orange;
        border: 3px solid black;
    }
    .fix {
        background-color: initial;
        border: initial;
    }
    /* 一部をリセットでき、または、以下のようにしてすべてのスタイルをリセット */
    /* .fix {
    all: unset;
    } */
</style>
</head>
<body>
<div>ブロック1</div>
<div class="fix">ブロック2</div>
</body>

リセットの違い

inherit: 親要素のスタイルを継承する。

all: unset: すべてのスタイルをリセットしてデフォルトに戻す。

これにより、どちらを使うべきかを特定の状況に応じて選択することができます。親要素のスタイルを継承したい場合はinheritを使用し、すべてのスタイルをリセットしたい場合はall: unsetを使用します。

戻る

5

divとspanの違いを理解しよう、同じCSSでも違う表示になる

div(ブロック要素)は上下左右にmarginをあてることができる 要素をよこ並びにできない
span(インライン要素)下のTextはインライン要素で左右にのみMarginがつく 横並びになる

下のTextはspan(インライン要素)で左右にのみMarginがつく 横並びになる
Text Text Text
=html=
         <div class="block">下のTextは・・・・ <div>  ディブタグ
         <span class="line">Text</span>        スパンタグ
         <span class="line">Text</span>
         <span class="line">Text</span>
=css=
     .block{
         text-align: center;
         padding: 20px;
         border: 2px solid crimson;
         margin: 20px;
     
     }
     .line{
         text-align: center;
         padding: 20px;
         border: 2px solid crimson;
         margin: 20px;
     }

コードについて

マージン相殺の原理 同じは同じ デカい方が採用する

display: inline; でそのディブ(div)ブロックをインライン変える、逆にインラインをブロックボックス {display: block;}となります。

{display: inline-block; } とはインラインぽくブロックでマージン・パッティングなどが効く便利

ブロックレベルとインライン実際に反映してのレイアウト

6

Flex Boxで思い通りのレイアウトをするYoutubeで参考に

flexbox基本 -flex意味は、曲がる・柔軟性

フレックボックスの基本概念参考サイトMDN Plus

フレックスボックス (flexbox) をゲームで理解し学ぶサイト

蛙を蓮の葉の上に載せるゲーム、24問で完成します。


      #pond {
                           display : flex ;

                           ○ ○ ○ ○:○ ○ ○ ○;
     
                                   ○ の部分を埋めてレイアウトを完成する
             } 

justify-content: ; の値に使うものは何でしょう

justify-content: ; の 値 flex-end, center, space-around, space-between , などから始まり

7

flexプロパティ

Flexboxでセマンティックでアクセシブルなウェブページを作成

flexプロパティを使って、各アイテムの幅をより詳細に指定

一度に1次元のレイアウト(行または列)を処理する

flex-directionプロパティを使うと主軸を定義する、値を 縦 column; 横 row; にするとわかりやすい

8

下のHTMLに対してbackground-colorと. outline: 1px solid red;がレイアウト調べに役立つborderと違い幅がカウントされない
レイアウト調べに都合いい、試してみた白色と赤線が outline: 1px solid black;にしました。

<ul>をclassで!
    <ul class="">
      <li>
        <img src="写真UR" alt="">
            <h1>タイトル</h1>
            <p>内容文章</p>
       *リストタグを続けるULタグのテクニック

9

プロパティ値 clamp 関数

値を上限と下限の間に制限します。 clamp() によって、定義された最大値と最小値の間の値を選択することができます。最小値、推奨値、最大値の3つの引数を取ります。

ビューポートの幅に基づいてフォントサイズをデヴァイス別に clamp 関数 試してみる

MDN参考サイト

display:flex; width:clamp(,,); を使って作成
図はCSSの display: flex; , width: clamp(,,); を使って作成

<style>   /*  図 CSSコードです  */
.element{
display: flex;                            
    /*表示:フレクッス;*/
justify-content: center;                
    /* コンテナ内全体の主軸方向(初期値では横方向)の揃え位置*/
align-items: center;                   
    /* コンテナ内全体の交差軸方向(初期値では縦方向)の揃え位置*/
width: clamp(50px, 16%, 1000px);    
/*幅:クランプ(最小幅, 推奨幅, 最大幅); */
padding: 1.5rem 1rem;                /* */
color: #fff;                         /*色 */
background: #468eef;                 /*背景 */
border-radius: 150px;                           
box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.13);  
    /* rgba( 赤, 緑, 青, 透明度 )*/
 margin: 0 auto; /* 上下は0、左右は自動 */
} 
.p{ 
font-size: clamp(1rem, 2.5vw, 1.5rem); 
/*clampは かすがい〜で始まる、やや大きいサイズ文字列部分*/
}
</style>
   

この文字列はfont-size: clamp;を反映

clampは かすがい・固定する の意味 CSS の関数で、値を上限と下限の間に制限します。 clamp() によって、定義された最大値と最小値の間の値を選択することができます。 最小値、推奨値、最大値の3つの引数を取ります。 ページの この節フォントサイズはclamp(1rem,2,5vw,1.5rem)で固定。 2.5vw が 1 レム未満の場合、フォント サイズは 1 レムになります。 2.5vw が 1.5rem より大きい場合、フォントサイズは 1.5rem になります。 それ以外の場合は、2.5vw になります。

10

戻る
HOME
免責:コンテンツは必ずしも正しいとは限りません。重要な情報は確認するようにしてください。

はじめに

このプライバシーポリシーは、あなたの個人情報がどのように収集、使用、共有されるかについて説明します。当ウェブサイト(以下、「本サイト」)を利用することにより、このプライバシーポリシーに同意したものとみなされます。

収集する情報

本サイトでは、以下のような情報を収集する場合があります:

  • 名前、メールアドレスなどの連絡先情報(お問い合わせフォームなどを通じて提供された場合)
  • サイト利用情報(クッキーやログファイルを通じて収集される情報)

情報の利用方法

収集した情報は、以下の目的で使用します:

  • お問い合わせへの対応
  • サイトの改善やパーソナライズ
  • 必要に応じた重要な通知の送信

情報の共有

本サイトでは、法律に基づく場合やユーザーの同意がある場合を除き、個人情報を第三者と共有することはありません。

クッキーについて

本サイトでは、ユーザーの体験を向上させるためにクッキーを使用することがあります。クッキーは、ユーザーのブラウザに保存される小さなデータファイルです。ブラウザの設定でクッキーの使用を拒否することもできますが、その場合、サイトの一部機能が利用できなくなることがあります。

プライバシーポリシーの変更

本プライバシーポリシーは随時変更されることがあります。変更があった場合は、本サイト上で通知します。定期的にプライバシーポリシーを確認することをお勧めします。

お問い合わせ

プライバシーポリシーに関する質問や懸念がある場合は、以下の連絡先までお問い合わせください:

contact:こちらでお願いします