【问题标题】:CSS3: Creating a vertical nav that is rotated 270degCSS3:创建一个旋转 270 度的垂直导航
【发布时间】:2015-10-29 17:17:44
【问题描述】:

我正在尝试创建一个旋转 270 度的垂直导航栏(以便链接向上而不是交叉)。我遇到的问题是我需要一个固定的宽度(200 像素)和每个链接 522 像素的相等高度。当我应用高度时,它不会在一条线上下降并且位置很奇怪。

任何帮助都会很棒。

这是我想做的事情:

JSFiddle:https://jsfiddle.net/q8j1y0w8/1/

<div class="main">
<ul class="nav">
    <li class="nav1"><a href="#">Nav 1</a></li>
    <li class="nav2"><a href="#">Nav 2</a></li>
    <li class="nav3"><a href="#">Nav 3</a></li>
    <li class="btn"><a href="#">Btn</a></li>
</ul>
<div class="content">CONTENT</div>

【问题讨论】:

    标签: html css transform nav


    【解决方案1】:

    此解决方案将使代码接近设计图像。它涉及更新 CSS 和重新排序 HTML 以生成所需的结果。

    更新的 Jsfiddle:https://jsfiddle.net/q8j1y0w8/9/

    CSS

    当使用 CSS 变换旋转元素时,呈现的宽度变为可见高度。

    对于ul.nav 元素,width 设置为1666px,相当于菜单项各个高度的总和:522px + 522px + 522px + 100px。这将为导航提供足够的可见高度以包含所有元素而不会溢出。

    .nav {
        width: 1666px; /* 522 + 522 + 522 + 100 = 1666 */
    }
    

    然后通过设置它们的 CSS 宽度为每个菜单项指定适当的高度:

    li {
        width: 100px;
    }
    li.nav1, li.nav2, li.nav3 {
        width: 522px;
    }
    

    HTML

    菜单项是这样重新排序的,因为旋转意味着从左到右的项目被定位为从上到下。

    <li class="btn"><a href="#">Btn</a></li>
    <li class="nav3"><a href="#">Nav 3</a></li>
    <li class="nav2"><a href="#">Nav 2</a></li>
    <li class="nav1"><a href="#">Nav 1</a></li>
    

    注意事项

    在 jsfiddle 中,我将 ul.nav 设置为具有绝对位置,并将 body 设置为没有边距以允许滚动页面,以便可以检查整个导航栏。

    【讨论】:

    • 谢谢瑞恩!感谢反馈。这似乎已经完成了这项工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2022-06-10
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    相关资源
    最近更新 更多