【问题标题】:Bootstrap twitter button and alert box inside of the grid?引导 twitter 按钮和网格内的警报框?
【发布时间】:2018-04-03 15:00:15
【问题描述】:

我的系统中有多个位置希望在提交按钮旁边显示消息。取决于用户活动,此消息对于系统通常是通用的,例如 'Records successfully saved''Invalid access''Invalid data entered in the form field'。按照现在的标准,我看到该消息通常应该显示在提交按钮旁边。当我第一次尝试在引导程序中实现这一点时,我遇到了警报框高度大于提交按钮高度的问题。我能够通过覆盖警报框 div 上的填充来解决该问题。这是一个例子:

$('#frm_myform').on('click', function() {
  $('#my-message').show().addClass('alert-success').html('Record successfully saved.').delay(10000).fadeOut('slow').queue(function() {
    $(this).removeClass('alert-success').dequeue();
  });
});
.alert-Submit {
  padding: 5px 15px !important;
}
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script language="javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="panel panel-default">
  <div class="panel-heading"><span class="glyphicon glyphicon-home"></span> <b>Home Page</b></div>
  <div class="panel-body">
    <form name="frm_myform" id="frm_myform" class="frm-Submit" autocomplete="off">
      <div class="form-group">
        <label class="control-label" for="answer">Answer</label>
        <input type="text" class="form-control" name="frm_answer" id="frm_answer">
      </div>
      <div class="row">
        <div class="col-md-1">
          <button type="submit" class="btn btn-primary">Submit</button>
        </div>
        <div class="col-md-11">
          <div id="my-message" class="alert alert-Submit"></div>
        </div>
      </div>
    </form>
  </div>
</div>

在示例中,您可以看到我尝试使用两个网格将提交按钮和警报框放在一起。当警报框无法放在按钮旁边时,我唯一想更改的是两个网格之间的填充。在示例中,您可以看到它们之间没有空格。这在小屏幕上看起来很难看,我想知道放置一些空间的最佳方式是什么?另外我想知道是否有更好的方法可以在引导表单中按钮旁边的警报框中显示消息?

【问题讨论】:

    标签: css twitter-bootstrap twitter-bootstrap-3 bootstrap-grid


    【解决方案1】:

    要在按钮旁边显示警报,您可以使用一些简单的 css 将它们对齐:

    CSS:

    .align-left { float: left; }
    .align-right { float: right; }
    

    HTML:

    <div class="row">
      <div class="col-md-1">
        <button type="submit" class="btn btn-primary align-left">Submit</button>
      </div>
      <div class="col-md-11">
        <div id="my-message" class="alert alert-Submit align-left"></div>
      </div>
      <div style="clear: both;"></div>
    </div>
    

    "clear: both;" 应放置在您要对齐的两个 div外部内部 要对齐的元素所在的 div 之内。

    使用alignclear 代码,您可以将项目彼此相邻放置,根据您的class,在div 的左侧或右侧。 此代码不需要需要引导程序才能工作。

    【讨论】:

    • 我想第一个 div 应该有左对齐,另一个元素右对齐。我仍然对 clear:both 样式的 div 感到困惑。
    • 我不确定clear 是否真的有必要。你可以玩弄它,也许它会起作用。我的回答解决了什么问题吗?您还有其他问题吗?
    • 我已经试过你的例子,警告框仍然比按钮高。除此之外看起来不错。
    • 不错!要解决这个问题,您可能需要使用一些自定义 CSS 来调整每个 CSS 的高度。您还可以使用btn-lgbtn-smbtn-xs 类来调整按钮的大小。 (除了btn 类)
    • 我刚刚发现clear:both 用于防止div 填充两个对齐元素之间的间隙。 (正在玩弄我的代码,没有clear div,定位就搞砸了。
    猜你喜欢
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多