課é¡: ããã°ãã¼ã¸ã¹ã¿ã¤ã«ã®ä¿®æ£
ãã®èª²é¡ã§ã¯ãé¨åçã«ã¹ã¿ã¤ã«ãé©ç¨ãããåºæ¬çãªããã°ãã¼ã¸ã®ä¾ãç¨æãã¾ãããæ¢åã® CSS ã®åé¡ç¹ãä¿®æ£ããä»ä¸ãã¨ãã¦ããã¤ãã®ã¹ã¿ã¤ã«ã追å ãã¦ãã ããããã®éç¨ã§ãã»ã¬ã¯ã¿ã¼ãããã¯ã¹ã¢ãã«ãç«¶å/ã«ã¹ã±ã¼ãã«é¢ããç¥èãæ¤æ»ãã¾ãã
åºçºç¹
å§ããã«ã¯ã以ä¸ã®ã³ã¼ãããã«ã®ããããã«ãã Play ãã¿ã³ãã¯ãªãã¯ããMDN Playground ã§æå®ããããµã³ãã«ãéãã¦ãã ããããã®å¾ãããã¸ã§ã¯ãæ¦è¦ã®æé ã«å¾ã£ã¦ãã¼ã¸ãé©åã«ã¹ã¿ã¤ã«è¨å®ãã¦ãã ããã
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>ããã°ãã¼ã¸ã®ãµã¤ãºå¤æ´ã®èª²é¡</title>
<link href="style.css" rel="stylesheet" />
</head>
<body>
<header>
<h1>æé«ã«ç´ æ´ãããããã°</h1>
<nav>
<ul>
<li><a href="#">ãã¼ã </a></li>
<li><a href="#">ããã°</a></li>
<li><a href="#">èªå·±ç´¹ä»</a></li>
<li><a href="#">é£çµ¡å
</a></li>
</ul>
</nav>
</header>
<main>
<section id="introduction" class="highlight">
<h2>ææ°ã®æç¨¿</h2>
<p>
Laoreet lorem curae lectus blandit conubia vel semper laoreet congue
at taciti.
<a href="#">Phasellus hac consectetur iaculis dui</a> sapien iaculis
hac ultricies per luctus. Suscipit mattis lacus semper in porta
phasellus sollicitudin ipsum fermentum phasellus sapien. Inceptos
etiam placerat porttitor finibus auctor at platea hendrerit aenean
laoreet elit lorem odio.
</p>
</section>
<section>
<h2>ããããããã³ã³ãã³ã</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Proin
tortor purus <a href="#">platea sit eu id</a> nisi litora libero.
Neque vulputate consequat ac amet augue blandit maximus aliquet
congue. Pharetra vestibulum posuere ornare
<a href="#">faucibus fusce dictumst</a> orci aenean eu facilisis ut
volutpat commodo senectus purus himenaeos fames primis convallis nisi.
</p>
<ul>
<li>Lorem ipsum dolor</li>
<li>Neque vulputate consequat</li>
<li>Phasellus fermentum malesuada</li>
<li>Curabitur semper venenatis</li>
<li>Duis lectus porta mattis</li>
</ul>
<p>
Phasellus fermentum malesuada phasellus netus dictum aenean placerat
egestas amet.
<a href="#">Ornare taciti semper dolor tristique</a> morbi. Sem leo
tincidunt aliquet semper eu lectus scelerisque quis. Sagittis vivamus
mollis nisi mollis enim fermentum laoreet.
</p>
<h2>ãã£ã¨ã¯ã¯ã¯ã¯ããã³ã³ãã³ã</h2>
<p>
Curabitur semper venenatis lectus viverra ex dictumst nulla maximus.
Primis iaculis elementum conubia feugiat venenatis dolor augue ac
blandit nullam ac <a href="#">phasellus turpis</a> feugiat mollis.
Duis lectus porta mattis imperdiet vivamus augue litora lectus arcu.
Justo torquent pharetra volutpat ad blandit bibendum
<a href="#">accumsan nec elit cras</a> luctus primis ipsum gravida
class congue.
</p>
<p>
Vehicula etiam elementum finibus enim duis feugiat commodo adipiscing
tortor <a href="#">tempor elit</a>. Et mollis consectetur habitant
turpis tortor consectetur adipiscing vulputate dolor lectus iaculis
convallis adipiscing. Nam hendrerit
<a href="#">dignissim condimentum ullamcorper diam</a> morbi eget
consectetur odio in sagittis.
</p>
</section>
<section id="summary" class="highlight">
<h2>ã¾ã¨ã</h2>
<p>
Et arcu tortor lorem ac primis ac suspendisse lectus nulla. Habitant
fermentum <a href="#">leo facilisis lobortis</a> risus lobortis
maximus gravida. Euismod fames maecenas imperdiet senectus
<a href="#">nec nisi amet pellentesque felis</a> vitae vestibulum
integer nec tellus. Eros posuere lacinia et tellus quis fames mattis
quisque mauris placerat rhoncus pretium sed consectetur
<a href="#">convallis</a>.
</p>
</section>
</main>
<footer class="highlight">
<p>Â©ï¸ 2025 誰ããã</p>
</footer>
</body>
</html>
/* åºæ¬çãªåã¨ããã¹ã */
body {
font: 1.2em / 1.5 system-ui;
width: clamp(480px, 70%, 1000px);
margin: 0 auto;
}
h1 {
font-size: 2em;
}
h2 {
font-size: 1.5em;
}
a {
color: red;
}
a:hover {
text-decoration: none;
}
/* ããã²ã¼ã·ã§ã³ã¡ãã¥ã¼ */
ul {
display: flex;
padding: 0;
list-style-type: none;
justify-content: space-between;
gap: 10px;
}
li {
flex: 1;
}
a {
text-decoration: none;
color: black;
background-color: yellowgreen;
text-align: center;
padding: 10px;
}
a:hover {
background-color: goldenrod;
}
/* å°å
¥æã¨æ¦è¦ */
.highlight {
margin-top: 0;
background-color: darkslategray;
color: cornsilk;
}
.highlight a {
color: purple;
}
/* ããã¿ã¼ */
footer {
margin-top: 20px;
background-color: goldenrod;
text-shadow: 1px 1px 1px black;
}
ããã¸ã§ã¯ãæ¦è¦
ä¸ããããåºæ¬çãªããã°ã®ä¾ã¯æªå®æã§ãããæ¢åã®ã³ã¼ãã«ã¯ããã¤ãã®åé¡ãããã¾ããããã¸ã§ã¯ãã宿ãããã«ã¯ãä¸è¨ã®æé ã«å¾ã£ã¦ãã ããã
-
ãã®ãã¼ã¸ä¸ã®ãã¹ã¦ã®è¦ç´ ã«ä»£æ¿ããã¯ã¹ã¢ãã«ã使ç¨ããã¾ãããããå®ç¾ããã«ã¼ã«ããã®ã¹ã¿ã¤ã«ã·ã¼ãã«è¿½å ãã¾ãããã
-
ããã²ã¼ã·ã§ã³ã¡ãã¥ã¼ã®ã«ã¼ã«ã«ã¯åé¡ãããã¾ããã¹ã¿ã¤ã«ã®å¤§åã¯åé¡ãªãã®ã§ãããä»ã®é åºãªããªã¹ããã³ã³ãã³ããªã³ã¯ã«å½±é¿ãä¸ãã¦ãã¾ããè¦ãç®ãæªããªã£ã¦ãã¾ãï¼ãããã®ã«ã¼ã«ã®ã»ã¬ã¯ã¿ã¼ã調æ´ãã¦ãããã²ã¼ã·ã§ã³ã¡ãã¥ã¼ã®ã¿ã対象ã«ãã¾ãããã
-
å®ã¯ãããã²ã¼ã·ã§ã³ã¡ãã¥ã¼ã«ã¯å¥ã®åé¡ãããã¾ãã
<a>è¦ç´ ãã親è¦ç´ ã§ãã<li>è¦ç´ ã®å ¨å¹ ã«åºãã£ã¦ããã®ãæ¬æ¥ããã¹ãå§¿ã§ããããããªã£ã¦ãã¾ãããè¡¨ç¤ºæ¹æ³ã調æ´ãã¦ãå ¨å¹ ã«åºããããã«ãã¾ãããã -
ããã²ã¼ã·ã§ã³ã¡ãã¥ã¼ã®ãªã³ã¯ã¨é常ã®ã³ã³ãã³ããªã³ã¯ã®ä¸¡æ¹ã«ã¤ãã¦ããã¦ã¹ã¦ã¼ã¶ã¼ããã¤ã³ã¿ã¼ãããããã¨ãã«ãªã³ã¯ãè¦è¦çã«èå¥ã§ãããããããã¼æã«ç°ãªãã¹ã¿ã¤ã«ãè¨å®ãã¦ãã¾ããããã«ããããã¼ãã¼ãã¦ã¼ã¶ã¼ã«ã¯ãããã®ã¹ã¿ã¤ã«ã表示ãããªãã¨ããã¢ã¯ã»ã·ããªãã£ä¸ã®èª²é¡ãåå¨ãã¾ããé¢é£ããã«ã¼ã«ã®ã»ã¬ã¯ã¿ã¼ã夿´ãããã¼ãã¼ãã¦ã¼ã¶ã¼ãã¿ããã¼ã§ãªã³ã¯ã«ç§»åããéã«ããããã®ã¹ã¿ã¤ã«ãåæã«é©ç¨ãããããã«ãã¾ãããã
-
å°å ¥é¨ãæ¦è¦ãããã¿ã¼ã«ã¯ãã¹ã¦
20pxã®ããã£ã³ã°ãæã¤ããã«ãã¾ãããã®ã¹ã¿ã¤ã«ã·ã¼ãå ã®ã©ããã«åä¸ã®å®£è¨ã追å ãã¦ãããå®ç¾ãã¦ãã ããã -
第 2 ã¬ãã«ã®è¦åºãã®å¾ã«ç¾ããåæ®µè½ã®æåã®è¡ã鏿ãã太åã«ããã«ã¼ã«ã追å ãã¾ãã
-
ååã®ç¶ãã¨ãã¦ã第 2 ã¬ãã«ã®è¦åºãã«ç¶ãåæ®µè½ã®æåã®è¡ã太åã«ããæ¹æ³ã¯èãããã¾ããï¼ãã ãã親è¦ç´ ãå°å ¥é¨ãæ¦è¦ãããã¿ã¼ã§ãªãå ´åã«éãã¾ããããã¤ãã®æ¹æ³ã§å®ç¾å¯è½ã§ãããç°¡æ½ãªæ¹æ³ãããã°ããã§ãªãæ¹æ³ãããã¾ãã
-
ããã«ä¸ã®æ¹ãè¦ãã¨ã
.highlight aã使ç¨ãããã¨ã§å°å ¥é¨ã¨æ¦è¦å ã®<a>è¦ç´ ã鏿ããé¢é£ä»ããããã«ã¼ã«å ã§purpleã«è²ä»ããã¦ãããã¨ããããã¾ãããããããã¯è¯ãããã¾ãããè²ã®ã³ã³ãã©ã¹ããã²ã©ãæªãã®ã§ãããã®ã«ã¼ã«ã夿´ã¾ãã¯é¤å»ãããã¨ãã§ããªãå ´åãã½ã¼ã¹é åºã§ãã®ã«ã¼ã«ããä¸ã«ä½ç½®ããå¥ã®ã«ã¼ã«ã追å ãã<a>è¦ç´ ãyellowã§çè²ã§ãã¾ããï¼ã½ã¼ã¹é åºã§ä¸ä½ã«ä½ç½®ãããããããé«ã詳細度ãæã¤å¿ è¦ãããã¾ãã -
ãã®ã¹ã¿ã¤ã«ã·ã¼ãã®æ«å°¾ã«ãã
<footer>è¦ç´ ã鏿ããããã¹ãã·ã£ãã¦ãé©ç¨ãæ¦è¦é¨åããç§»åããããã®ãã¼ã¸ã³ãè¨å®ãç®ç«ãããããã®ç°ãªãèæ¯è²ãæå®ãããã¨ãã¦ãã¾ãããããã.highlightã«ã¼ã«ã®æ¹ã詳細度ãé«ãããããã®å®£è¨ãåªå ãããæå³ãããã¼ã¸ã³ã¨èæ¯è²ã®ã¹ã¿ã¤ã«ãé©ç¨ããã¦ãã¾ããããããã®ã¹ã¿ã¤ã«ã確å®ã«é©ç¨ããããããã»ã¬ã¯ã¿ã¼ã夿´ãã¦ããã ãã¾ããï¼
ãã³ãã¨ã³ã
- W3C CSS Validator ã使ç¨ãããã¨ã§ã CSS ã®æå³ããªãééãï¼ä»ã®æ¹æ³ã§ã¯è¦éãã¦ãã¾ããããããªãééãï¼ãçºè¦ããä¿®æ£ãããã¨ãã§ãã¾ãã
- HTML ã夿´ããå¿ è¦ã¯ä¸åããã¾ããã
ä¾
ããã¸ã§ã¯ãã¯æçµçã«ãã®ããã«ãªãã¾ãã
ãããã¯ãªãã¯ããã¨ã模ç¯è§£çã表示ãã¾ãã
æçµç㪠CSS ã¯æ¬¡ã®ããã«ãªãã¾ãã
/* åºæ¬çãªåã¨ããã¹ã */
/* 解決çï¼ãã¹ã¦ã®è¦ç´ ã«ä»£æ¿ããã¯ã¹ã¢ãã«ãè¨å®ãã */
* {
box-sizing: border-box;
}
body {
font: 1.2em / 1.5 system-ui;
width: clamp(480px, 70%, 1000px);
margin: 0 auto;
}
h1 {
font-size: 2em;
}
h2 {
font-size: 1.5em;
}
a {
color: red;
}
/* 解決çï¼:hover ã¹ã¿ã¤ã«ãæ´æ°ãã:focus ã«ãåæã«é©ç¨ããããã«ãããããã«ããããã¼ãã¼ãã¦ã¼ã¶ã¼ããªã³ã¯ã«ã¿ãç§»åããéãæ´æ°ãããã¹ã¿ã¤ã«ã確èªãããã¨ãã§ããã */
a:hover,
a:focus {
text-decoration: none;
}
/* 解決ç: 2 é層ç®ã®è¦åºãã®å¾ã«ç¾ããããããã®æ®µè½ã®æåã®è¡ã太åã«ããããã ãã親è¦ç´ ãå°å
¥é¨ãæ¦è¦ãããã¿ã¼ã§ãªãå ´åã«éãï¼ãã®æ¡ä»¶ãæå®ããã«ã¯ :not(.highlight) ã使ç¨ããï¼ã */
section:not(.highlight) h2 + p::first-line {
font-weight: bold;
}
/*
以ä¸ã®ä¸ã®è§£æ±ºçã®ä»£æ¿æ¡ï¼ã¾ããã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ã太åã«ãããã®å¾ãã¤ã©ã¤ãã¯ã©ã¹ãæã¤è¦ç´ å
ã®ã¤ã³ã¹ã¿ã³ã¹ãã太åãé¤å»ãã
section h2 + p::first-line {
font-weight: bold;
}
.highlight h2 + p::first-line {
font-weight: normal;
}
*/
/* ããã²ã¼ã·ã§ã³ã¡ãã¥ã¼ */
/* 解決ç: <nav> ã¡ãã¥ã¼ã®ã¿ã対象ã¨ãããããnav ã»ã¬ã¯ã¿ã¼ã調æ´ãã */
nav ul {
display: flex;
padding: 0;
list-style-type: none;
justify-content: space-between;
gap: 10px;
}
nav li {
flex: 1;
}
nav a {
text-decoration: none;
color: black;
background-color: yellowgreen;
/* 解決ç: ããã²ã¼ã·ã§ã³ã® <a> è¦ç´ ã display: block ã«è¨å®ãã親è¦ç´ ã§ãã <li> è¦ç´ ã®å
¨å¹
ã«ã¾ããããã */
display: block;
text-align: center;
padding: 10px;
}
/* 解決çï¼:hover ã¹ã¿ã¤ã«ãæ´æ°ãã:focus ã«ãåæã«é©ç¨ããããã«ãããããã«ããããã¼ãã¼ãã¦ã¼ã¶ã¼ããªã³ã¯ã«ã¿ãç§»åããéã«æ´æ°ãããã¹ã¿ã¤ã«ã確èªãããã¨ãã§ããã */
nav a:hover,
nav a:focus {
background-color: goldenrod;
}
/* å°å
¥æã¨æ¦è¦ */
.highlight {
margin-top: 0;
background-color: darkslategray;
color: cornsilk;
/* 解決çï¼å°å
¥é¨ãæ¦è¦ãããã¿ã¼ã®å
¨è¾ºã« 20px ã®ããã£ã³ã°ãè¨å®ãããããããã¹ã¦ã«ãã¤ã©ã¤ãã¯ã©ã¹ãè¨å®ããã¦ããã */
padding: 20px;
}
/* 解決ç: ".highlight a" ã«ã¼ã«ãã以ä¸ã«ãããé«ã詳細度ãæã¤ã«ã¼ã«ã追å ãã¦è²è¨å®ã䏿¸ãããï¼ID ã»ã¬ã¯ã¿ã¼ã¯ã¯ã©ã¹ã»ã¬ã¯ã¿ã¼ããã詳細度ãé«ãï¼ */
#introduction a,
#summary a {
color: yellow;
}
.highlight a {
color: purple;
}
/* ããã¿ã¼ */
/* 解決ç: ããã¿ã¼ã®ã«ã¼ã«è©³ç´°åº¦ãé«ãããã ".highlight" ã追å ããmargin-top 㨠background-color ã®ã¹ã¿ã¤ã«ãé©ç¨ãããããã«ãã */
footer.highlight {
margin-top: 20px;
background-color: goldenrod;
text-shadow: 1px 1px 1px black;
}