【问题标题】:How to resize bootstrap button without a side-scroll如何在没有横向滚动的情况下调整引导按钮的大小
【发布时间】:2020-04-26 03:25:48
【问题描述】:

我对 CSS 响应式布局非常陌生,需要帮助构建我的导航栏。我知道还有许多其他类似的 SO Q&A,但它们都没有给我想要的输出。

我尝试使用来自 this SO question 的建议,但不是调整按钮大小,而是在调整窗口大小时出现一个可滚动的滚动条,这不是我想要的。

这是我的 HTML 代码目前的样子:

.nowrap{white-space: nowrap;}

.column2 {
  float: left;
  width: 33%;
  text-align: center;
  overflow:auto;
}
.column3 {
  float: center;
  width: 33%;
  text-align: right;
}
.column4 {
  float: right;
  width: 33%;
  text-align: right;
  overflow:auto;
}
<link rel='stylesheet' href='https://use.fontawesome.com/releases/v5.6.3/css/all.css'>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel='stylesheet' href='https://bootswatch.com/4/united/bootstrap.min.css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<nav class="navbar navbar-default">
  <div class="row">
    <div class="container">
      <div class="column2"><h4 >Welcome back <span>Example</span></h4></div>
        <div class="column3">
            <h1 style="font-size:2.5vw;" title='About'>Example<span class="text-primary">TEXT</span>Example</h1>
        </div>
        <div class="column4" >
            <div class="col-md-6 col-md-offset-3 responsive nowrap">
            <button type="button" class="btn btn-danger btn-responsive">Search</button>
            <button type="button" class="btn btn-primary btn-responsive" id="logoutButton " >Logout</button>
            <button type="button" class="btn btn-primary btn-responsive" data-toggle="modal" data-target="#loginModal" >Login</button>
        </div>
    </div>
  </div>
</nav>

按钮要求总结:

  1. 三个按钮在同一行

  2. 按钮无需滚动即可响应变小。

  3. 三个&lt;div&gt;标签中的内容不重叠

请考虑到我对 CSS 样式非常陌生,因此非常感谢所有建设性的反馈!

【问题讨论】:

    标签: html css twitter-bootstrap-3 responsive


    【解决方案1】:

    https://www.w3schools.com/bootstrap/bootstrap_navbar.asp

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <title></title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    </head>
    <body>
    
    <nav class="navbar navbar-inverse">
      <div class="container-fluid">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>                        
          </button>
          <a class="navbar-brand" href="#">WebSiteName</a>
        </div>
        <div class="collapse navbar-collapse" id="myNavbar">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Home</a></li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="#">Page 1-1</a></li>
                <li><a href="#">Page 1-2</a></li>
                <li><a href="#">Page 1-3</a></li>
              </ul>
            </li>
            <li><a href="#">Page 2</a></li>
            <li><a href="#">Page 3</a></li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
            <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
          </ul>
        </div>
      </div>
    </nav>
    
    </body>
    </html>
    

    【讨论】:

      【解决方案2】:

      您可以使用引导程序 3 类。这接近你试图达到的目标吗?

      (编辑每个 cmets 的 sn-p:)

      .nowrap{white-space: nowrap;}
      <!-- Latest compiled and minified CSS -->
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
      <nav class="navbar navbar-default">
        <div class="container">
          <div class="row">
            <div class="col-xs-3 col-sm-4 text-left"><h4 >Welcome back <span>Example</span></h4></div>
            <div class="col-xs-2 col-sm-4 text-center">
              <h1 style="font-size:2.5vw;" onclick="about()" title='About'>Example<span class="text-primary">TEXT</span>Example</h1>
            </div>
            <div class="col-xs-7 col-sm-4 text-right">
              <div>
                <button type="button" class="btn btn-danger btn-responsive" onclick="search()" >Search</button>
                <button type="button" class="btn btn-primary btn-responsive" id="logoutButton " >Logout</button>
                <button type="button" class="btn btn-primary btn-responsive" data-toggle="modal" data-target="#loginModal" >Login</button>
              </div>
            </div>
          </div>
        </div>
      </nav>

      【讨论】:

      • 我稍微更新了我的问题。我想要一行中的所有内容,欢迎文本位于左侧 div 的中心,示例文本位于中间 div 的中心,按钮位于右侧 div 的中心(或尽可能接近!)。感谢您的回复!
      • @Newbie123 我更改了类以便将所有内容放在一行上。尝试使用您自己的标题和按钮文本。我认为您应该使用的折叠方法的另一个答案复制粘贴示例。这是官方文档的链接:getbootstrap.com/docs/3.4/components/#navbar
      猜你喜欢
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      相关资源
      最近更新 更多