嘿我试图将我的文本放在div中,同时在我的内容区域内容纳三个div,但不知怎的,这是不行的......
HTML
<div id="content">
<div class="latest">
<p>Gentlemen, these are my latest works</p>
</div>
<div id="works">
<div class="one">
<a href="myworks.html" class="title">Lineage 3 Online</a>
<div class="prev1"></div>
</div>
</div>
<div class="two">
<a href="myworks.html" class="title">Lineage 3 Online</a>
<div class="prev2"></div>
</div>
</div>
<div class="three">
<a href="myworks.html" class="title">Lineage 3 Online</a>
<div class="prev2"></div>
</div>
</div>
</div>
</div>
CSS
div#content {
width: 1000px;
margin-left: auto;
margin-right: auto;
}
div.latest {
text-align: center;
font-family: "Open Sans", Helvetica, sans-serif;
color: #777;
text-transform: uppercase;
letter-spacing: 5px;
font-weight: bold;
font-size: 18px;
padding-top: 25px;
padding-bottom: 5px;
border-bottom: 2px solid #DADADA;
}
div#works {
margin-top: 8px;
border-top: 2px solid #DADADA;
}
/*************************************/
div.one {
float: left;
width: 300px;
height: 300px;
margin-top: 10px;
border: 1px dotted #333;
}
div.two {
width: 300px;
height: 300px;
margin-top: 10px;
margin-left: auto;
margin-right: auto;
border: 1px dotted #333;
}
div.three {
float: right;
width: 300px;
height: 300px;
margin-top: 300px;
border: 1px dotted #333;
}
a.title {
color: #333;
font-family: "Open Sans", Helvetica, sans-serif;
font-size: 18px;
font-weight: bold;
text-decoration: none;
text-transform: uppercase;
text-align: center;
letter-spacing: 3px;
line-height: 3;
border: 1px solid #000;
}
div.prev1 {
background-image: url(images/prev1.jpg);
width: 300px;
height: 200px;
border: 2px solid #FFF;
-moz-box-shadow: 0 0 1px #000;
-webkit-box-shadow: 0 0 1px #000;
box-shadow: 0 0 1px #000;
margin-left: auto;
margin-right: auto;
margin-top: 10px;
}
我还想补充一点,我是HTML5和CSS的新手,很抱歉,如果这个问题听起来很愚蠢。
答案 0 :(得分:1)
首先,您在每个div上都有一个额外的结束</div>
标记,这些标记是#works
div的直接子级。
删除这些无关的结束标记后,要将文本居中,请将text-align:center
添加到div#works
css:
div#works {
margin-top: 8px;
border-top: 2px solid #DADADA;
/* add this */
text-align: center;
}
#works
div的子项将继承它的text-align属性。
你的div没有正确对齐,因为你没有中间的浮动,第三个的边缘顶部是300px,而另外两个的边缘顶部是10px。
不是为每个元素创建新规则,因为它们都是#works
div的子项,您可以创建更一般的规则,只选择#works
div的子项:
#works > div {
float: left;
width: 300px;
height: 300px;
margin-top: 10px;
border: 1px dotted #333;
}
在这种情况下,>
选择器仅选择#works
div的直接子项。
也是一个推荐:你不需要在你的id选择器前加上元素名称。特别是因为id只应该在页面上出现一次,所以进一步使用元素对选择器进行分类是多余的。