我的问题是关于封装徽标和菜单的顶部水平条。我不想指定它的高度,因为我更喜欢浏览器根据用户配置(文本大小、禁用 CSS 或图像)自动调整它。
我找到了一个解决方案:http position: absolute;
: //jsfiddle.net/5GmWp/30
这个解决方案还避免了黑色顶栏周围的白色间隙。
#top{ color: white;
background: none repeat scroll 0 0 #444;
/* "absolute position" avoids a white gap around the #top black bar */
position: absolute;
/* Using absolute position, I do not have to specify the height */
height: auto;
width: 100%;
top: 0;
left: 0;
padding-left: 3em; }
但是这个顶部的水平条显示在前台,页面的其余部分部分在其背景上。要解决我用来reset.css
规范化 CSS 的问题:http: //jsfiddle.net/UKYrR/12
#top{ color: white;
background: none repeat scroll 0 0 #444;
/* reset.css removes the white gap around the #top box */
/* position: absolute; // "absolute position" is not required */
/* However I have to specify the height :( */
height: 90px;
/* If height=auto, the logo is partially outside the #top box */
width: 100%;
top: 0;
left: 0;
padding: 0.5em;
padding-left: 3em; }
但现在我必须指定高度以将徽标图像保留在黑色顶框内。
编写这样的水平顶栏有哪些好的做法?
我也很欣赏优秀而小巧的 CSS 教程;)
编辑:
在我用来<table>
解决这类问题之前。但我注意到大多数网站使用<div>
CSS 代替。另一个问题:为什么大多数网站更喜欢使用<div>
而不是<table>
显示水平条?是为了简化网站的复制粘贴吗?
更多细节: 我在业余时间开发了一个网站,允许任何人创建视觉障碍人士可以访问的地图。因此,我希望网站在所有可能的配置中都能很好地显示:禁用 CSS、禁用图像、大文本大小、旧浏览器......但同时,该网站也应该在最近的浏览器上引人注目。并且 CSS/HTML/JavaScript/images 文件应该很小。并且可能不依赖外部 CSS/JavaScript 文件。我将很快在顶部水平栏中添加菜单。我也在重新编写地图编辑器 web 应用程序(SVG+JavaScript),但这是另一个故事......