我患有"神经炎"吗?(需要CSS专家)

ale*_*nco 54 html css

我读过很多文章,谴责过度使用div.我有一种感觉,我可能会在以下标记中这样做:

HTML:

.container {
  margin: 0 auto;
  overflow: hidden;
  width: 960px;
}

/* header */

#header {
  background: #EEE;
}

#header h1 {
  float: left;
}

#header h2,
#header a,
#header p {
  color: #999;
}

#header h1 a {
  background: url(../images/logo.png) no-repeat scroll 0 0;
  float: left;
  height: 30px;
  text-indent: -9999px;
  width: 500px;
}

#banner {
  border-bottom: 1px solid #DDD;
  padding: 0 0 15px 0;
  margin: 30px 0 30px 0;
  overflow: hidden;
  width: 960px;
}

#lang {
  float: right;
  padding: 9px 0 0 0;
}

#lang li {
  float: left;
  margin: 0 0 0 20px;
}

#lang li a {
  font-size: 10px;
}


/* intro */

#intro {
  overflow: hidden;
  padding: 0 0 30px 0;
}

#tagline {
  float: left;
  margin: 0 40px 0 0;
  width: 540px;
  /* 560 */
}

#tagline h2 {
  font-size: 24px;
}

#about {
  float: right;
  width: 380px;
}
Run Code Online (Sandbox Code Playgroud)

CSS:

<div id="header">
  <div class="container">
    <div id="banner">
      <h1><a href="http://widerdesign.co.nr/">wider design</a></h1>
      <ul id="lang">
        <li><a href="index.php">English</a></li>
        <li><a href="es/index.php">Español</a></li>
        <li><a href="tw/index.php">??(??)</a></li>
        <li><a href="cn/index.php">??(??)</a></li>
      </ul>
    </div>
    <div id="intro">
      <div id="tagline">
        <h2>Nulla vitae tortor mauris</h2>
        <p>Pellentesque faucibus est eu tellus varius in susc...</p>
      </div>
      <div id="about">
        <h2>right</h2>
        <p>Pellentesque faucibus est eu tellus varius in susc...</p>
      </div>
    </div>
    <!-- #intro -->
  </div>
  <!-- .container -->
</div>
<!-- #header -->
Run Code Online (Sandbox Code Playgroud)

解释使用这些div:

header:定义扩展到窗口末尾(位于窗口外部div .container)的背景颜色.

容器:使内容居中(但不是背景).

横幅:围绕定义背景或边框颜色ul#langh1.

介绍:与上面相同但是#tagline#about(否则我必须为标语和单独定义填充或边距).

我是否过度使用div?

这可以简化吗?

Dan*_*llo 37

它看起来很完美.这应该作为一个例子!

"divitis"的一个症状是当你看到一个<div>'s而不是使用a 的列表时<ul>.

  • 大声笑......我写了一篇论文,但你的答案总结得很好.+1 (3认同)
  • 我同意 - 这根本不像"divitis". (2认同)

Dou*_*ner 19

在大多数情况下,你的加价很好.每个站点提出略有不同的问题.我认为可以通过删除#intro并将CSS应用于两列来改进代码.

根据页面的其余部分,您可以不使用#headerdiv.

此外,如果需要,您可以设置htmlAND 样式body以帮助处理多个背景/容器.请记住,一旦开始应用样式,body开始就像div(不会扩展到浏览器的底部)html.

使用divs或新的HTML 5块元素,首先是关于使语义有意义,并提供将CSS挂起的地方.

由于每个div元素都有一个特定的用途,它们提供了元素的语义分组,我会说你的代码很好.

记录,这是divitis:

<div class='image'>
  <div class='shadow'>
    <div class='bottom-shadow'>
       <img src="..." alt="" />
    </div>
  </div>
  <div class="clear"></div>
</div>
Run Code Online (Sandbox Code Playgroud)


Pek*_*ica 8

你正在使用<ul>s进行导航和<h1><h2>标题 - 这对我来说已经足够了.我想不出div你正在使用的任何一个更合适的元素.会毫不费力地通过我的质量检查.