1. ホーム
  2. Web制作
  3. CSS

[CSSチュートリアル】CSS複合セレクタの具体的な使用方法

2022-01-27 06:40:23

交差点セレクタ

交差点セレクタは、2つのセレクタを直接つなげたもので、最初のセレクタは要素セレクタ、2番目のセレクタはクラスセレクタまたはIDセレクタでなければならず、2つのセレクタはスペースなしで連続的に記述しなければなりません。
交差セレクタで選択される要素は、第一セレクタで指定された要素タイプであり、その要素に第二セレクタに対応するID名またはクラス名が含まれていなければならない。交差点セレクタで選択された要素のスタイルは、3つのセレクタのスタイル、すなわち、最初のセレクタ;

構文

 { 
   ... 
     // event source (SQS queue) 
     "sqsq" : { 
       "Type" : "AWS::SQS::Queue" , 
       "Properties" : { 
         "DelaySeconds" : 0 , 
         "MaximumMessageSize" : 262144 , 
         "MessageRetentionPeriod" : 345600 , 
         "QueueName" : "q" , 
         "ReceiveMessageWaitTimeSeconds" : 0 , 
         "VisibilityTimeout" : 30 
       } 
     }, 
     // event target (Lambda function) 
     "tikjs" : { 
       "Type" : "AWS::Lambda::Function" , 
       "Properties" : { 
         "FunctionName" : "tikjs" , 
         "Description" : "Invokes functions defined in \ tik/js.js in project tik. Generated by Sigma.", 
         ... 
       } 
     }, 
     // function execution role that allows it (Lambda service) 
     // to query SQS and remove read messages 
     "tikjsExecutionRole" : { 
       "Type" : "AWS::IAM::Role" , 
       "Properties" : { 
         "ManagedPolicyArns" : [ 
           "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" 
         ], 
         "AssumeRolePolicyDocument" : { 
           "Version" : "2012-10-17" , 
           "Statement" : [ 
             { 
               "Action" : [ { 
                 "sts:AssumeRole" 
               ], 
               "Effect" : "Allow" , 
               "Principal" : { 
                 "Service" : [ 
                   "lambda.amazonaws.com" 
                 ] 
               } 
             } 
           ] 
         }, 
         "Policies" : [ 
           { 
             "PolicyName" : "tikjsPolicy" , 
             "PolicyDocument" : { 
               "Statement" : [ 
                 { 
                   "Effect" : "Allow" , 
                   "Action" : [ 
                     "sqs:GetQueueAttributes" , 
                     "sqs:ReceiveMessage" , 
                     "sqs:DeleteMessage" 
                   ], 
                   "Resource" : { 
                     "Fn::GetAtt" : [ 
                       "sqsq" , 
                       "Arn" 
                     ] 
                   } 
                 } 
               ] 
             } 
           } 
         ] 
       } 
     }, 
     // the actual event source mapping (SQS queue -> Lambda) 
     "sqsqTriggertikjs0" : { 
       "Type" : "AWS::Lambda::EventSourceMapping" , 
       "Properties" : { 
         "BatchSize" : "10" , 
         "EventSourceArn" : { 
           "Fn::GetAtt" : [ 
             "sqsq" , 
             "Arn" 
           ] 
         }, 
         "FunctionName" : { 
           "Ref" : "tikjs" 
         } 
       } 
     }, 
     // grants permission for SQS service to invoke the Lambda 
     // when messages are available in our queue 
     "sqsqPermissiontikjs" : { 
       "Type" : "AWS::Lambda::Permission" , 
       "Properties" : { 
  

構文説明:"クラスセレクタ|IDセレクタ"は、クラスセレクタを使用するかIDセレクタを使用するかを意味します。

The event source arn (aaa) and function (bbb) provided mapping already exists. Please update or delete the existing mapping...

連結セレクタ

連結セレクタは、グループセレクタやクラスタセレクタとも呼ばれ、2つ以上の任意のセレクタを","で区切って構成し、複数のセレクタを"一括宣言"できるようにしたものである。

連結型セレクタの特徴は、スタイル・セットが連結型セレクタ内の各セレクタに対して有効であることです。

連結セレクタの効果は、異なるセレクタから同じスタイルを抽出して1つの定義にまとめることで、CSSのコード量を簡略化できることである。

構文

aws-cli

構文上の注意:セレクタは、基本セレクタでも複合セレクタでも、どのようなタイプでもかまいません。

event

後付けセレクタ

子孫セレクタは、含有セレクタとも呼ばれ、指定した要素の子孫である要素を選択するために使用されます。子孫セレクタを使うことで、目的の要素をより早く、より正確に見つけることができます。

構文

selector 1 selector 2 selector 3 { 
    attribute 1: attribute value 1.
 attribute 2: attribute value 2.
}


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title> Set styles using descendant selectors </title>
<style>
#box1 .p1 { /* descendant selector */
    background:#CCC;
}
#box2 p { /* descendant selector */
    background:#CFC;
}
</style>
</head>
<body>
     <div id="box1">
         <p class="p1"> Paragraph 1 </p>
         <p class="p2"> Paragraph two </p>
     </div>
     <div id="box2">
         <p class="p1"> Paragraph three </p>
         <p> Paragraph four </p>
     </div>
     <p class="p1"> 段落五 </p>
     <p> Paragraph six </p>
</body>
</html>


子要素セレクタ

子孫セレクタは、ある要素で指定された型のすべての子孫要素を選択します。ある要素のすべての子要素のみを選択したい場合は、子要素セレクタを使用する必要があります。

構文

selector 1> selector 2 {
      attribute 1: attribute value 1; 
      attribute 2: attribute value 2;
}


構文上の注意:">"は左結合文字と呼ばれ、その左右にスペースを持つことができます。"セレクタ 1> セレクタ 2" は "selector 1 で指定したセレクタ2の要素をすべて選択します"という意味です。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title> Example of child element selector application </title>
<style>
h1>span {
    color:red;
}
</style>
</head>
<body>
    <h1> This is a very, very <span> important </span> and <span> critical </span> step. </h1>
    <h1> This is really a very <em><span> important </span> and <span> critical </span></em> step. </h1>
</body>
</html>


隣接兄弟セレクタ

同じ親を持つ要素の直後にある要素を選択する必要がある場合、隣接兄弟セレクタを使用することができます。

構文

selector 1+ selector 2 {
     attribute 1: attribute value 1; 
     attribute 2: attribute value 2;
}


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title> Adjacent Sibling Selector Application Example </title>
<style>
h1+p {
     color:red;
     font-weight:bold;
     margin-top:50px;
}
p+p{
     color:blue;
     text-decoration:underline;
}
</style>
</head>
<body>
     <h1> This is a first-level heading </h1>
     <p> This is paragraph 1. </p>
     <p> This is paragraph 2. </p>
     <p> This is paragraph 3. </p>
</body>
</html>


属性セレクタ

CSSでは、要素をその属性とその値に基づいて選択することもでき、これを属性セレクタと呼びます。属性セレクタには、大きく分けて

構文があります。

attribute selector 1 attribute selector 2... {
     attribute 1: attribute value 1;
     attribute 2: attribute value 2;
}

element selector attribute selector 1 attribute selector 2... {
     Attribute 1: Attribute value 1;
     attribute 2: attribute value 2;
}



構文上の注意:属性セレクタは [ 属性式 ] と記述します。属性式はプロパティ名または "attribute = 属性値" のような式になります。

プロパティセレクタの応用

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title> Application of attribute selectors </title
<style>
[title] {/* selects elements with the title attribute */
     color: #F6F;
}
a[href][title]{/* selects a element with both href and title attributes */
     font-size: 36px;
}
img[alt] {/* selects the img element with the alt attribute */
     border: 3px #f00 solid;
}
p[align="center"] {/* selects the p element with align attribute equal to center */
     color: red;
    font-weight: bolder;
}
</style>
</head>
<body>
     <h2> Apply attribute selector style: </h2>
     <h3 title="Helloworld">Helloworld</h3>
     <a title=" Home "href="#"> Return to Home </a><br/><br/>
     <img src="miaov.jpg" alt="logo" />
     <p align="center"> paragraph one </p>
     <hr />
     <h2> No attribute selector style applied
     <h3> Helloworld</h3>
     <a href="#"> Return to home page </a><br/><br/>
     <img src="miaov.jpg">
     <p align="right"> Paragraph 2 </p>
</body>
</html>

今回はCSS複合セレクタの具体的な使い方についてご紹介しましたが、より関連するCSS複合セレクタの内容は、スクリプトハウスの過去記事を検索するか、以下の関連記事を引き続きご覧ください、今後ともスクリプトハウスをどうぞよろしくお願いいたします