【问题标题】:Collapse accordion horizontally on large screens and vertically on small screens在大屏幕上水平折叠手风琴,在小屏幕上垂直折叠手风琴
【发布时间】:2015-06-02 14:12:10
【问题描述】:

在这个答案上是一个很好的水平折叠解决方案:Bootstrap 3.0 Collapse Horizontally

但是我正在处理的布局在其左侧的 div 下方有一个手风琴式幻灯片,用于响应式视图,然后在视觉上看起来很糟糕。是否可以让手风琴改变方向并在 SM 和 XS 尺码中向下滑动。

我在这个小提琴上稍微修改了代码:http://jsfiddle.net/kylebellamy/q9GLR/176/

但我看到的另一个问题是文本也在手风琴内旋转。我尝试为“p”标签创建第二组规则,但这似乎不起作用。

这是所需的代码:

HTML:

<div class="container">
    <div class="row">
        <div class="content">
            <div class="panel-group" id="accordion">
                <div class="panel panel-default">
                    <div class="panel-heading">
                         <h4 class="panel-title">
                        <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
                          Accordion 1
                        </a>
                      </h4>

                    </div>
                    <div id="collapseOne" class="panel-collapse collapse">
                        <div class="panel-body">
                            <p><h1>Title</h1><br>A paragraph of text about something pertinant to the site which people could read should the feel the need to read about it. They could skip it as well but this keeps the initial view a good deal less text heavy, see?<br>- Some Source</p>
                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

CSS:

html, body {
    background-color:#e9eaed;
}
.content {
    width:960px;
    height:0px;
    margin-right: auto;
    margin-left: auto;
}
.panel-group {
    width:430px;
    z-index: 100;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateX(-100%) rotate(-90deg);
    -webkit-transform-origin: right top;
    -moz-transform: translateX(-100%) rotate(-90deg);
    -moz-transform-origin: right top;
    -o-transform: translateX(-100%) rotate(-90deg);
    -o-transform-origin: right top;
    transform: translateX(-100%) rotate(-90deg);
    transform-origin: right top;
}
.panel-heading {
    width: 430px;
}
.panel-title {
    height:18px
}
.panel-title a {
    float:right;
    text-decoration:none;
    padding: 10px 430px;
    margin: -10px -430px;
}
.panel-body {
    height:830px;
}
.panel-group img {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateX(0%) rotate(90deg);
    -webkit-transform-origin: left top;
    -moz-transform: translateX(0%) rotate(90deg);
    -moz-transform-origin: left top;
    -o-transform: translateX(0%) rotate(90deg);
    -o-transform-origin: left top;
    transform: translateX(0%) rotate(90deg);
    transform-origin: left top;
}
p {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateX(0%) rotate(0deg);
    -webkit-transform-origin: left top;
    -moz-transform: translateX(0%) rotate(0deg);
    -moz-transform-origin: left top;
    -o-transform: translateX(0%) rotate(0deg);
    -o-transform-origin: left top;
    transform: translateX(0%) rotate(0deg);
    transform-origin: left top;
}
.panel-group .panel img {
    margin-left:400px;
    position: absolute;
}

【问题讨论】:

  • 解决了旋转文本的第二部分,但它非常基于您的布局,您需要在 CSS 中编辑一些内容。在面板正文中的文本周围添加一个 DIV,并应用我制作的名为 textRotate 的类。在我的小提琴中查找新代码:jsfiddle.net/kylebellamy/q9GLR/180
  • 对不起,它是指这部分:“但我看到的另一个问题是文本也在手风琴内旋转。我尝试为“p”创建第二组规则“标签,但这似乎不起作用。”我使用小提琴中修改后的代码解决了它(可能比可能的简单,但它有效)。

标签: css twitter-bootstrap accordion


【解决方案1】:

如果屏幕小于某个像素宽度(768px 是引导程序的折叠点),请使用 css @media query 禁用变换。

(Demo)

@media (max-width: 768px) {
    .panel-group {
        -webkit-transform: none;
        -moz-transform: none;
        -o-transform: none;
        transform: none;
    }
}

【讨论】:

  • 就是这样!您只是帮助我更多地了解了@media 的用法,谢谢。
  • 快速跟进问题(我希望):在这个小提琴:jsfiddle.net/kylebellamy/8cn6f5o6/1 我在手风琴旁边放了一个 div,尝试了列,拉,手风琴不会转到图像 div 的右侧.有什么想法吗?
  • 啊!这就是我所缺少的!一列与浮动。再次感谢您!
猜你喜欢
  • 1970-01-01
  • 2011-10-01
  • 2012-11-21
  • 2016-02-28
  • 2012-09-23
  • 2014-02-18
  • 2011-11-19
  • 2016-08-18
  • 1970-01-01
相关资源
最近更新 更多