宽度未知的 div 所需的 Javascript/CSS 解决方案

标签 javascript html css

这是这篇文章 (www.stackoverflow.com/questions/1389029/two-divs-with-unknown-width-and-dynamic-scaling) 的后续文章。

这是图示要求 (/www.creativesplash.net/images/2.gif)。这是我的achieved迄今为止。

在浏览器调整大小时应该发生 2 件事:

  1. 标签应移至下方(已实现)
  2. 首选项应占据 100% 的宽度 + 应应用边框将其与选项卡分开!这是我需要您帮助的地方(纯 css 解决方案或 javascript 解决方案)!!

编辑:原型(prototype)解决方案会很棒!

预先感谢您的帮助!

维桑

最佳答案

JavaScript? Pshaw,我想我们可以用简单的 CSS 来管理它,是吗?

这是一个概念证明。当它适合一行时,它依赖于隐藏选项卡内容后面的第二个边框。完成样式并确保它与您选择的特定字体保持一致,留给不那么懒惰的人作为练习。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
    <title> tabs test </title>
    <style type="text/css">
        #nav { border-bottom: 1px solid silver; }
        #prefs { float: right; padding: 0.7em 0; }
        #tabs { float: left; padding: 0.5em 0; white-space: nowrap; }
        #tabs a {
            display:-moz-inline-stack; display:inline-block;
            margin-right: 0.7em; padding: 0.3em 0;
            width: 7em; text-align: center; background: silver;
        }
        #tabs a.selected {
            position: relative; z-index: 2;
            background: white; border-width: 1px; border-style: solid; border-color: black black white;
        }
        #content { clear: right; border-top: 1px solid silver; }
        #content .wrap {
            clear: left; position: relative; z-index: 1; top: -0.6em;
            background: white; border: solid black 1px;
            padding: 1em;
        }
    </style>
</head><body>
    <div id="nav">
        <a href="n1">Sample links</a> |
        <a href="n2">blah</a>
    </div>
    <div id="prefs">
        <a href="p1">Preference 1</a> | <a href="p1">Preference 2</a>
    </div>
    <div id="tabs">
        <a href="t0" class="selected">Active Tab</a>
        <a href="t1">Tab 1</a>
        <a href="t2">Tab 2</a>
        <a href="t3">Tab 3</a>
    </div>
    <div id="content"><div class="wrap">
        Lorem ipsum dolor sit amet blah blah blah.
    </div></div>
</body></html>

这使用内联 block 来阻止标签在它们自己不适合屏幕时换行。你可能想要也可能不想要那个,我不知道。如果不是,将该行更改为简单的 float 。

关于宽度未知的 div 所需的 Javascript/CSS 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422024/

相关文章:

javascript - 德鲁巴 8 : Theme's css and js files are not being loaded

JavaScript:在 1 秒内逐渐将 CSS 属性的值增加 100

javascript - 导出 DOM 的当前样式

javascript - 在 ReactJS 中每次重新渲染时获取一个新的 FabricJS-Canvas

javascript - 无法让固定 div 停在页脚上方,我错过了什么?

html - 如何扩展 div azure 正方形以填充颜色为棕色的正方形?

html - 当 div 在 float 元素下方折叠时保持 div 的垂直间距

javascript - 无法在表中显示正确的数据 -AngularJS

javascript - Sequelize js 如何使用 OR 运算符创建多个类似条件

html - 将一些 <li> 置于 <ul> 的中心