diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/css/_doublecolon_before | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/web/css/_doublecolon_before')
-rw-r--r-- | files/ja/web/css/_doublecolon_before/index.html | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/files/ja/web/css/_doublecolon_before/index.html b/files/ja/web/css/_doublecolon_before/index.html new file mode 100644 index 0000000000..65596a63d7 --- /dev/null +++ b/files/ja/web/css/_doublecolon_before/index.html @@ -0,0 +1,231 @@ +--- +title: '::before (:before)' +slug: 'Web/CSS/::before' +tags: + - CSS + - Layout + - Pseudo-element + - Reference + - Selector + - Web +translation_of: 'Web/CSS/::before' +--- +<div>{{CSSRef}}</div> + +<p><span class="seoSummary">CSS における <strong><code>::before</code></strong> は、選択した要素の最初の子要素として<a href="/ja/docs/Web/CSS/Pseudo-elements">擬似要素</a>を作成します。よく {{cssxref("content")}} プロパティを使用して、要素に装飾的な内容を追加するために用いられます。</span>この要素は既定でインラインです。</p> + +<pre class="brush: css notranslate">/* リンクの前にハートを追加 */ +a::before { + content: "♥"; +}</pre> + +<div class="note"> +<p><strong>注:</strong> <code>::before</code> および <code>::after</code> によって生成される擬似要素は<a href="https://www.w3.org/TR/CSS2/generate.html#before-after-content">要素の整形ボックスに含まれるため</a>、 {{htmlelement("img")}} 要素や {{htmlelement("br")}} 要素のような<em><a href="/ja/docs/Web/CSS/Replaced_element">置換要素</a></em>には適用されません。</p> +</div> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox notranslate">{{csssyntax}}</pre> + +<div class="note"> +<p><strong>注:</strong> CSS3 では<a href="/ja/docs/Web/CSS/Pseudo-classes">擬似クラス</a>と<a href="/ja/docs/Web/CSS/Pseudo-elements">擬似要素</a>を見分けやすくするために、 <code>::before</code> の表記法 (二重コロン付き) が導入されました。ブラウザーでは CSS2 で導入された <code>:before</code> も使用できます。</p> +</div> + +<h2 id="Examples" name="Examples">例</h2> + +<h3 id="Adding_quotation_marks" name="Adding_quotation_marks">引用符の追加</h3> + +<p><code>::before</code> 擬似要素を使用するシンプルな例の1つ目は、引用符を追加するものです。引用符を挿入するために <code>::before</code> および <code>{{Cssxref("::after")}}</code> の両方を使用しています。</p> + +<h4 id="HTML">HTML</h4> + +<pre class="brush:html notranslate"><q>引用があることは、</q>彼は言った、<q>ないよりも良い。</q></pre> + +<h4 id="CSS">CSS</h4> + +<pre class="brush:css notranslate">q::before { + content: "«"; + color: blue; +} + +q::after { + content: "»"; + color: red; +}</pre> + +<h4 id="Result" name="Result">結果</h4> + +<p>{{EmbedLiveSample('Adding_quotation_marks', '500', '50', '')}}</p> + +<h3 id="Decorative_example" name="Decorative_example">装飾の例</h3> + +<p>{{cssxref("content")}} プロパティ内の文字列や画像は、大体思う通りに整形することができます。</p> + +<h4 id="HTML_2">HTML</h4> + +<pre class="brush: html notranslate"><span class="ribbon">オレンジのボックスがどこにあるか注意してください。</span></pre> + +<h4 id="CSS_2">CSS</h4> + +<pre class="brush: css notranslate">.ribbon { + background-color: #5BC8F7; +} + +.ribbon::before { + content: "このオレンジのボックスを見てください。"; + background-color: #FFBA10; + border-color: black; + border-style: dotted; +}</pre> + +<h4 id="Result_2" name="Result_2">結果</h4> + +<p>{{EmbedLiveSample('Decorative_example', 450, 60)}}</p> + +<h3 id="To-do_list" name="To-do_list">やることリスト</h3> + +<p>この例では、擬似要素を使用して簡単なやることリストを作成します。この方法は UI に小さな変更を加え、使い勝手を改善するためによく使われます。</p> + +<h4 id="HTML_3">HTML</h4> + +<pre class="brush: html notranslate"><ul> + <li>牛乳を買う</li> + <li>犬の散歩をする</li> + <li>エクササイズ</li> + <li>コードを書く</li> + <li>音楽を演奏する</li> + <li>リラックスする</li> +</ul> +</pre> + +<h4 id="CSS_3">CSS</h4> + +<pre class="brush: css notranslate">li { + list-style-type: none; + position: relative; + margin: 2px; + padding: 0.5em 0.5em 0.5em 2em; + background: lightgrey; + font-family: sans-serif; +} + +li.done { + background: #CCFF99; +} + +li.done::before { + content: ''; + position: absolute; + border-color: #009933; + border-style: solid; + border-width: 0 0.3em 0.25em 0; + height: 1em; + top: 1.3em; + left: 0.6em; + margin-top: -1em; + transform: rotate(45deg); + width: 0.5em; +}</pre> + +<h4 id="JavaScript">JavaScript</h4> + +<pre class="brush: js notranslate">var list = document.querySelector('ul'); +list.addEventListener('click', function(ev) { + if (ev.target.tagName === 'LI') { + ev.target.classList.toggle('done'); + } +}, false); +</pre> + +<p>ここで上記のコードをライブで実行できます。なお、アイコンは使用しておらず、チェックマークは実際に CSS の <code>::before</code> で整形したものです。先に進んでやってみてください。</p> + +<h4 id="Result_3" name="Result_3">結果</h4> + +<p>{{EmbedLiveSample('To-do_list', 400, 300)}}</p> + +<h3 id="Special_characters" name="Special_characters">特殊文字</h3> + +<p>これは CSS であり HTML ではないので、 content の値の中でエンティティのマークアップを使用することは<strong>できません</strong>。特殊文字を使用する必要がある場合で、 CSS の content の文字列に入力する場合は、 If you need to use a special character, and can not enter it literally into your CSS content string, use a unicode escape sequence, consisting of a backslash followed by the hexadecimal unicode value.</p> + +<h4 id="HTML_4">HTML</h4> + +<pre class="brush: html notranslate"><ol> + <li>Crack Eggs into bowl</li> + <li>Add Milk</li> + <li>Add Flour</li> + <li aria-current='step'>Mix thoroughly into a smooth batter</li> + <li>Pour a ladleful of batter onto a hot, greased, flat frying pan</li> + <li>Fry until the top of the pancake loses its gloss</li> + <li>Flip it over and fry for a couple more minutes</li> + <li>serve with your favorite topping</li> +</ol> +</pre> + +<h4 id="CSS_4">CSS</h4> + +<pre class="brush: css notranslate">li { + padding:0.5em; +} + +li[aria-current='step'] { + font-weight:bold; +} + +li[aria-current='step']::after { + content: " \21E6"; /* Hexadecimal for Unicode Leftwards white arrow*/ + display: inline; +} +</pre> + +<h4 id="Result_4">Result</h4> + +<p>{{EmbedLiveSample('Special_characters', 400, 200)}}</p> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('CSS4 Pseudo-Elements', '#selectordef-before', '::before')}}</td> + <td>{{Spec2('CSS4 Pseudo-Elements')}}</td> + <td>前回の版から重要な変更はなし。</td> + </tr> + <tr> + <td>{{Specname("CSS3 Animations", "", "")}}</td> + <td>{{Spec2("CSS3 Animations")}}</td> + <td>擬似要素で定義されたプロパティのアニメーションを許可。</td> + </tr> + <tr> + <td>{{SpecName('CSS3 Selectors', '#gen-content', '::before')}}</td> + <td>{{Spec2('CSS3 Selectors')}}</td> + <td>2重コロンの構文を導入。</td> + </tr> + <tr> + <td>{{SpecName('CSS2.1', 'generate.html#before-after-content', '::before')}}</td> + <td>{{Spec2('CSS2.1')}}</td> + <td>初回定義。コロン1つの構文のみ。</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("css.selectors.before")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{Cssxref("::after")}}</li> + <li>{{Cssxref("content")}}</li> +</ul> |