インラインボックスであるa要素を文中に配置
余白のリセット
a要素の設置
配置の確認
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>My Advanced CSS</title> <link rel="stylesheet" href="style.css"> </head> <body> <p>こんにちは!こんにちは!こんにちは!</p> <p> こんにちは!<a href="">リンク</a><a href="">リンク</a>こんにちは! </p> <p>こんにちは!こんにちは!こんにちは!</p> </body> </html>
@charset "utf-8"; body { margin: 0; } p { background-color: pink; margin: 0; } a { background-color: skyblue; }
インラインボックスの要素がサポートするプロパティ、サポートしないプロパティ
width / height
border
padding
margin
marginのautoキーワード
border/paddingは効くが他の要素には干渉しないので、意図しない 表示になる
a { background-color: skyblue; width: 80px; height: 32px; border: 8px solid blue; padding: 8px; /* margin: 8px; */ margin: 0 auto; }
a { background-color: skyblue; width: 80px; height: 32px; border: 8px solid blue; padding: 8px; /* margin: 8px; */ margin: 0 auto; /* display: block; */ /* display: inline; */ display: inline-block; }
imgは挙動が少し違う
<body> <p>こんにちは!こんにちは!こんにちは!</p> <p> こんにちは!<img src="img/logo.png" width="64" height="64"><img src="img/logo.png" width="64" height="64">こんにちは! </p> <p>こんにちは!こんにちは!こんにちは!</p> </body>
@charset "utf-8"; body { margin: 0; } p { background-color: pink; margin: 0; }
<body> <div class="container"> <div class="box-1">Box 1</div> <div class="box-2">Box 2</div> <div class="box-3">Box 3</div> </div> </body>
@charset "utf-8"; body { margin: 0; } .container { width: 400px; margin: 32px auto 0; border: 8px solid blue; } .box-1 { width: 100px; height: 100px; background-color: pink; } .box-2 { width: 100px; height: 50px; background-color: skyblue; } .box-3 { width: 100px; height: 100px; background-color: orange; }
positionプロパティが取りうる値と、それらを指定したときの挙動について見ていきます。
position: static
position: relative;
position: absolute;
position: fixed;
relativeは、box-3の要素に影響をあたえない
.box-2 { width: 100px; height: 50px; background-color: skyblue; position: relative; /* top: 16px; */ top: -16px; left: 16px; }
absolute
は、親要素がstatic
な場合は、body
要素基準になるが通常親要素relative
で使うことがほとんど。
fixed
は、ブラウザー表示領域基準なので、常に表示位置は固定される
.container { width: 400px; margin: 32px auto 0; border: 8px solid blue; /* position: relative; */ } .box-1 { width: 100px; height: 100px; background-color: pink; } .box-2 { width: 100px; height: 50px; background-color: skyblue; /* position: absolute; */ position: fixed; top: 16px; right: 16px; }
.container { width: 400px; margin: 32px auto 0; border: 8px solid blue; position: relative; } .box-1 { width: 100px; height: 100px; background-color: pink; position: absolute; top: 0; left: 0; z-index: 3; } .box-2 { width: 100px; height: 100px; background-color: skyblue; position: absolute; top: 20px; left: 20px; z-index: 2; } .box-3 { width: 100px; height: 100px; background-color: orange; position: absolute; top: 40px; left: 40px; z-index: 1; }
<body> <p> <img src="img/logo.png" width="128" height="128"> <img src="img/taro.png" width="120" height="90"> </p> </body>
p { background-color: pink; } img { width: 80px; height: 80px; object-fit: cover; }
現在はあまりつかわれていないが、文章をまわりこませるときには使う
<body> <p class="p-1"> <img src="img/logo.png" width="128" height="128"> こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。 </p> <p class="p-2"> こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。 </p> </body>
img { width: 80px; height: 80px; float: right; } .p-1 { display: flow-root; } .p-2 { /* clear: right; */ }
header { height: 160px; background-color: pink; background-image: url(img/logo.png); /* background-size:contain; */ background-size: cover; background-position: center; } h1 { margin: 0; font-size: 22px; text-align: center; line-height: 160px; }
<body> <header> <h1>dotInstall</h1> </header> </body>
a { display: inline-block; width: 160px; height: 32px; border: 1px solid black; border-radius: 8px; text-align: center; text-decoration: none; line-height: 32px; color: inherit; }
<body> <a href="">リンク</a> </body>
button { all: unset; width: 160px; height: 32px; border: 1px solid black; border-radius: 8px; text-align: center; line-height: 32px; color: inherit; cursor: pointer; }
<body> <button>OK</button> </body>
<body> <table> <thead> <tr> <th>年</th><th>出来事</th> </tr> <tr> <td>2011</td><td>サービス開始</td> </tr> <tr> <td>2022</td><td>256times開始</td> </tr> </thead> </table>
table{ width: 400px; border-collapse: collapse; margin: 32px auto; } th { border: 1px solid black; background: lightgray; padding: 8px; } td { border: 1px solid black; padding: 8px; text-align: center; }
<body> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </body>
ul { /* all: unset; */ margin:0; padding: 0; list-style: none; width: 360px; margin: 32px auto; } li { background: lightgray; padding: 8px; border-radius: 8px; margin-bottom: 8px; /* width: 320px; */ }
<body> <section> <h1>ドットインストール</h1> <p>こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。</p> </section> </body>
section { background: pink; max-width: 600px; margin: 32px auto; width: calc(100% - 16px - 16px); } h1 { margin: 0; padding: 8px; } p { margin: 0; padding: 8px; }
@charset "utf-8"; body { margin: 0; } section { background: pink; max-width: 600px; margin: 0 auto; width: calc(100% - 16px - 16px); } h1 { margin: 0; background: skyblue; /* width: 500px; */ /* width: 6em; */ width: 10rem; }# p { margin: 0; background: orange; /* width: 50%; */ /* width: 6em; */ width: 10rem; }
色を指定するための、さまざまな方法について見ていきます。
キーワード
RGB
HSL
HWB
不透明度の指定
@charset "utf-8"; :root { /* --brand-color: orange; */ --brand-color: skyblue; } body { margin: 0; } section { max-width: 600px; margin: 0 auto; width: calc(100% - 16px - 16px); } h1 { margin: 0; color: var(--brand-color); border-bottom: 2px solid var(--brand-color); } p { margin: 0; }