私は CSS の完全な初心者であり (これは文字通り私が書いた最初の CSS です)、HTML は比較的初心者です。さて、問題に:
レイアウトを作成しようとしていますが、やりたいことができないという問題に出くわしました。ここに私が持っているもののスクリーンショットがあります:
私がやりたいのは、単にdiv
「ホーム」、「ブログ」などを読み取り、div
下の s と同じ幅にして、効果的にサイドバーと同じ Y で終わるようにすることです。そのようです:
HTML ファイルの本文には、装飾テキストを処理するbackground
classが含まれていますが、そこにないものはすべてと呼ばれる別のものにあります。に設定され、その内部には 2 つのクラス(マーク a ) が含まれます。1 つ目はナビゲーションを含み、2 つ目はメインとサイドバーのものを含みます (それらはすべてクラス、マーク付きです)。div
div
container
container
display: table
div
row
display: table-row
div
section
display: table-cell
CSS と、HTML をどのように構築しようとしたかの両方を示すために、ファイル全体を次に示します。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head>
<title>mini</title>
<style type="text/css">
* {
font-family: "Ubuntu", Helvetica, Arial, sans-serif;
margin: 0;
}
body {
padding: 100px 0 0 0;
background: white;
color: #444444;
}
h1 {
font-size: 48px;
font-weight: bold;
letter-spacing: -0.083333em;
line-height: 1.3em;
text-transform: lowercase;
}
p {
line-height: 1.5em;
}
.container {
overflow: hidden;
padding: 24px 24px 24px 24px;
border-spacing: 35px 35px;
display: table;
}
.section {
position: relative;
padding: 24px 24px 24px 24px;
border-width: 1px;
border-style: solid;
border-color: #888888;
background: white;
display: table-cell;
}
.background {
position: absolute;
margin: -124px -124px -124px -124px;
z-index: -1;
float: right;
font-size: 54px;
line-height: 1em;
font-weight: bold;
color: #eeeeee;
}
.row {
display: table-row;
}
#sidebar {
width: 20%;
}
#navigation {
font-size: 24px;
font-weight: bold;
text-transform: lowercase;
}
#empty {
}
</style>
</head>
<body>
<div id="background" class="background">
bgtext
</div>
<div id="foreground" class="container">
<div class="row">
<div id="navigation" class="section">
navitext
</div>
</div>
<div class="row">
<div id="mainbody" class="section">
<h1>Main</h1>
maintext
</div>
<div id="sidebar" class="section">
<h1>Sidebar</h1>
sidetext
</div>
</div>
</div>
</body>
</html>