引导容器之外的箭头

Posted

技术标签:

【中文标题】引导容器之外的箭头【英文标题】:Arrows besides bootstrap container 【发布时间】:2016-07-29 12:35:57 【问题描述】:

我有一个引导容器。由于这很常见,它不占用孔页宽度,而是居中,左右两侧留有大量边距。

我想要实现的是,在左侧和右侧(所以除了带有container 类的 div 之外,还有 2 个居中的箭头,左侧指向左侧,右侧指向右侧.

你想知道,我为什么要这样做?我尝试制作类似轮播的东西,但是有页面,所以当我点击右箭头时,会出现下一页的内容,然后点击左箭头,我会回到另一页..希望你明白我的意思...

我拥有的是这样的:

<!DOCTYPE html>
<html>
<head>
    <title>Drag and Drop Upload</title>
    <link rel="stylesheet" href="css/bootstrap.min.css" type="text/css"/>
    <link rel="stylesheet" href="css/style.css" type="text/css"/>
    <link rel="stylesheet" href="css/dropzone.css" type="text/css"/>
    <script src="js/jquery-1.12.3.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/dropzone.js"></script>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="container fill">
    <form action="upload.php" class="dropzone needsclick dz-clickable full-height">
        <div class="dz-message"><b> </b></div>
    </form>
</div>
</body>
</html>

【问题讨论】:

请提供一些代码 您能否提供一个您目前拥有的示例? 【参考方案1】:

您可以像 Bootstrap 一样在轮播中使用箭头在全局范围内执行此操作: 在页面的每一侧都有父容器,固定在顶部并且屏幕的高度为固定高度(使用 JQuery 很容易做到)。

<body>
   <div class="parentofarrow left"><div class="parrentofarrow__arrow left"></div></div>
   <div class="parentofarrow right"><div class="parrentofarrow__arrow right"></div></div>
   <div class="container"></div>
</body>

您可以有另一个父级,以使它们所有人具有不同的结构或任何东西。 (在这种情况下,将位置固定为绝对位置)

在 css 中:

.parentofarrow  
   position: fixed; // or absolute to a specific parent (relative)
   top: 0px;
   // height fixed with screensheight using Jquery
   width: // as you wish;
   text-align: center; // or margin auto on arrows

.parentofarrow.left  left: 0px; 
.parentofarrow.right  right: 0px; 
.parentofarrow__arrow  //customize and positionning as you wish 

在这些父母中,有一个垂直和水平对齐箭头,其中包含一个特定的操作,可以根据需要更改页面内容。

应该够了!

请注意,此解决方案不是最简单的,但它提供了一定的模块化(更改高度、父级、位置...)。

【讨论】:

那我该怎么做 jquery 的事情呢?因为现在,我拥有的 div 容器具有屏幕的完整高度,使用您的解决方案它正在以某种方式发生变化...... 如果您在页面加载过程中只修复一次,它不应该改变。类似于:$( document ).ready(function() $('.yourcontainer').height($(window).height()); or with maybe $('.yourcontainer').css('height', value + 'px'); ); 检查 jquery 文档的 .height,我想使用 .height(true)、.outerHeight() 或其他。【参考方案2】:

不考虑元素位置的最简单方法是使用负边距。 (fiddle here)

html:

<div id="arrow">&larr;</div>

css:

#arrow 
 margin-left: -100px;  

另一种可行的方法是像这样使用position: absolute

#container 
  position: relative;


#left-arrow 
 position: absolute;
 top: 40%;
 bottom: 40%;
 height: 10%;
 line-height: 100%;
 left: -5%;

【讨论】:

问题是我想让它也能在移动设备上工作,所以我不喜欢像素.. @nameless 你可以使用负百分比 @Jonathan Argentiero 这适用于左右两边,但不知何故它在另一个 div 之上,我可以让这个居中吗?【参考方案3】:

最简单的解决方案也是使用网格系统。

<div class="container fill">
    <div class="row">
        <div class="col-xs-1">Left</div>
        <div class="col-xs-10 main-stage">
            <form action="upload.php" class="dropzone needsclick dz-clickable full-height">
                <div class="dz-message"><b> </b></div>
            </form>
        </div>
        <div class="col-xs-1">Right</div>
     </div>
</div>
</body>

【讨论】:

以上是关于引导容器之外的箭头的主要内容,如果未能解决你的问题,请参考以下文章

如何在引导下拉菜单中启用向上和向下箭头键

如何制作带有箭头的溢出水平卡片? (使用引导 4.5)

Firefox 浏览器的 Twitter 引导程序中不显示下拉箭头

为啥我在引导程序的轮播组件中看不到上一个和下一个箭头?

如何使下拉箭头(插入符号图标引导程序)在单击时更改?

如何在引导程序 4 中删除输入组 <select> 箭头?