【问题标题】:How to remove rounded corners of select box in Bootstrap?如何在 Bootstrap 中删除选择框的圆角?
【发布时间】:2018-12-20 06:44:27
【问题描述】:

我已经编写了这段代码来在引导程序中创建一个选择框,但是我想删除的角是圆角的。怎么做?我尝试了很多,但找不到任何解决方案。请帮帮我。

这里也是jsfiddle.net的链接

https://jsfiddle.net/ankitshri774/2redLfnc/7/

body {
  background-color: #E8E8E8;
}

label {
  float: left;
}

#main_container {
  background-color: white;
  margin-left: 10px;
  padding-left: 13px;
  margin-right: 10px;
  padding-right: 13px;
  padding-top: 13px;
  margin-top: 10px;
  box-sizing: border-box;
}

#container {
  background-color: aqua;
}

.select-wrapper {
  border: 1px solid black;
  border-radius: 0px;
}
<!doctype html>

<html lang="en">

<head>
  <title>Master Page</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.3.7/css/bootstrap.min.css">
  <link rel="stylesheet" href="masterpage1.css">


  <!-- jQuery library -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

  <!-- Latest compiled JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>


<body>



  <div id="main_container">

    <form>


      <div id="partymaster">
        <h3>Party Master</h3>
        <hr/>
      </div>

      <div class="row">

        <div class="col-md-4">
          <div class="form-group">
            <label>Category
                        <span style="color:red">*</span>
                    </label>
            <span class="select-wrapper"><select name="category" class="form-control no-radius">
                <option>A</option>      
                </select>
</span>
          </div>


        </div>


      </div>


    </form>


  </div>
</body>




</html>

【问题讨论】:

  • select.form-control { border-radius: 0; }
  • 您使用的是哪个版本的引导程序?您的代码显示版本 3.3.7,但您已在此问题上添加 bootstrap-4 标记

标签: html css twitter-bootstrap bootstrap-4


【解决方案1】:

将以下行添加到您的 CSS 文件中:

.no-radius{
    border-radius:0px !important;
}

【讨论】:

  • BS4 中有一个.rounded-0 实用程序类
  • 感谢 fen1x 提供的信息。这里 Ankit 已经创建了一个“无半径”类,所以我对其进行扩展。
【解决方案2】:

使用下面的代码(设置!important 以防止覆盖)

border-radius4px,因为您设置选择form-control 类,默认情况下它是引导定义

.no-radius{
  border-radius: unset!important;
}

见小提琴:https://jsfiddle.net/2redLfnc/29/

body{
    background-color:#E8E8E8;
       
    }
    
    
        label{
            float: left;
        }
        
        #main_container{
            background-color: white;
            margin-left: 10px;
            padding-left:13px;
            margin-right: 10px;
            padding-right:13px;
            padding-top: 13px;
            margin-top: 10px;
            box-sizing: border-box;
        }
    
        #container
        {
            background-color: aqua;
        }
    
       


       .select-wrapper{
        border: 1px solid black;
        border-radius: 0px;
    }

.no-radius{
  border-radius: unset!important;
}
<!doctype html>

<html lang="en">
    
<head>
<title>Master Page</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.3.7/css/bootstrap.min.css">        
<link rel="stylesheet" href="masterpage1.css">


<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    </head>
    

    <body >

            

            <div id="main_container">

    <form>
    
   
   <div id="partymaster">
       <h3>Party Master</h3>
       <hr/>
   </div>

   <div class="row">
      
            <div class="col-md-4">
                <div class="form-group">
                    <label>Category
                        <span style="color:red">*</span>
                    </label>
                    <span class="select-wrapper"><select name="category" class="form-control no-radius">
                <option>A</option>      
                </select>
</span>
                </div>
           
            
</div>


</div>


</form>


</div>
</body>




    </html>

【讨论】:

    【解决方案3】:

    问题在于form-control-class 将半径设置为 4px。所以你不能在同一个元素上用不同的类覆盖它(至少我不知道怎么做)。 所以作为一个快速修复,我定义了一个不同的类form-control-without-radius并在我的updated fiddle中使用它。

    .form-control-without-radius {
      display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    } 
    

    但是,这是整个布局的根本变化,我猜它会与许多其他 UI 组件发生冲突。因此,您可能必须构建自己的自定义 Bootstrap。有些人发现使用sass 很容易,我使用Bootstrap Theme Builder 更有趣。还有其他的。如果您对 BT 不够熟悉,这听起来可能是个可怕的想法 - 但我这样做的经验只是积极的,所以我会去 ;-)

    更新:我在其他帖子中看到了unset !important-idea,好主意!当然,这使整个事情变得更简单。已相应更新my fiddle

    【讨论】:

      【解决方案4】:

      使用rounded-0,但仅限Bootstrap-4

      body {
        background-color: #E8E8E8;
      }
      
      label {
        float: left;
      }
      
      #main_container {
        background-color: white;
        margin-left: 10px;
        padding-left: 13px;
        margin-right: 10px;
        padding-right: 13px;
        padding-top: 13px;
        margin-top: 10px;
        box-sizing: border-box;
      }
      
      #container {
        background-color: aqua;
      }
      
      .select-wrapper {
        border: 1px solid black;
        border-radius: 0px;
      }
      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" />
      <div id="main_container">
        <form>
          <div id="partymaster">
            <h3>Party Master</h3>
            <hr/>
          </div>
          <div class="row">
            <div class="col-md-4">
              <div class="form-group">
                <label>Category
                  <span style="color:red">*</span>
                </label>
                <span class="select-wrapper">
                  <select name="category" class="form-control rounded-0">
                    <option>A</option>      
                  </select>
                </span>
              </div>
            </div>
          </div>
        </form>
      </div>

      【讨论】:

      • 在 Firefox 上没问题。但它在 Chrome 上仍然看起来不正确。
      猜你喜欢
      • 2019-01-23
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 2010-11-02
      • 2015-09-07
      相关资源
      最近更新 更多