【问题标题】:Place circular div at the center of container for all device将圆形 div 放在所有设备的容器中心
【发布时间】:2018-03-06 11:49:52
【问题描述】:

我的要求是这样的:
一个被其他 4 个 div 包围的圆形 div。 我试过这样:

.circle {
            z-index: 10;
            position: absolute;
            width: 13em;
            height: 13em;
            border-radius: 50%;
            background: lightblue;
            top: 60px; 
            right: 40%;
        }

        .corners {
            background: #eee;
            color: #333;
            position: relative;
            overflow: hidden;
        }

        .text {
            border: 1px solid #ccc;
            padding: 8px 20px 8px;
            
            height: 150px;
        }

        .arc-bottom-l,
        .arc-bottom-r,
        .arc-top-l,
        .arc-top-r {
            position: absolute;
            background: #fff;
            width: 210px;
            height: 210px;
            border-radius: 50%;
            border: 1px solid #ccc;
        }

        .arc-bottom-l {
            bottom: -100px;
            left: -100px;
        }

        .arc-bottom-r {
            bottom: -100px;
            right: -100px;
        }

        .arc-top-l {
            top: -100px;
            left: -100px;
        }

        .arc-top-r {
            top: -100px;
            right: -100px;
        }
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <body>

    <div class="container" style="height:300px; text-align:center;">
          <div class='circle'></div>
        <div class="row">
            <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
               
                    <div class="text"></div>
                    <div class="arc-bottom-r"></div>
                
            </div>
            <div class="corners col-md-6 col-sm-6 col-lg-6  col-xs-6">
                
                    <div class="text"></div>
                    <div class="arc-bottom-l"></div>

               
            </div>
        </div>
  <div class="row" style="height:0px"></div>
        <div class="row">
            <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
                
                    <div class="arc-top-r"></div>
                    <div class="text"></div>
                </div>
            

            <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
                
                    <div class="arc-top-l"></div>

                    <div class="text"></div>
                </div>
            
        </div>
    </div>

</body>

但我无法为所有设备制作它。如何为所有设备制作这个东西并相应地定位中间 div? 我尝试了什么,在 div 之间添加空间并使圆形 div 位于容器的中心,但是当我调整窗口大小时它会变形。

【问题讨论】:

    标签: html css twitter-bootstrap responsive-design


    【解决方案1】:

    你们很亲密。

    .circle 上使用:

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    

    .container 上使用:

    position: relative
    

    确保无论屏幕大小如何,圆圈都位于中间。


    工作示例:

    .container {
      position: relative
    }
    
    .circle {
      z-index: 10;
      width: 13em;
      height: 13em;
      border-radius: 50%;
      background: lightblue;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
    
    .corners {
      background: #eee;
      color: #333;
      position: relative;
      overflow: hidden;
    }
    
    .text {
      border: 1px solid #ccc;
      padding: 8px 20px 8px;
      height: 150px;
    }
    
    .arc-bottom-l,
    .arc-bottom-r,
    .arc-top-l,
    .arc-top-r {
      position: absolute;
      background: #fff;
      width: 210px;
      height: 210px;
      border-radius: 50%;
      border: 1px solid #ccc;
    }
    
    .arc-bottom-l {
      bottom: -100px;
      left: -100px;
    }
    
    .arc-bottom-r {
      bottom: -100px;
      right: -100px;
    }
    
    .arc-top-l {
      top: -100px;
      left: -100px;
    }
    
    .arc-top-r {
      top: -100px;
      right: -100px;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    <body>
    
      <div class="container" style="height:300px; text-align:center;">
        <div class='circle'></div>
        <div class="row">
          <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
    
            <div class="text"></div>
            <div class="arc-bottom-r"></div>
    
          </div>
          <div class="corners col-md-6 col-sm-6 col-lg-6  col-xs-6">
    
            <div class="text"></div>
            <div class="arc-bottom-l"></div>
    
    
          </div>
        </div>
        <div class="row" style="height:0px"></div>
        <div class="row">
          <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
    
            <div class="arc-top-r"></div>
            <div class="text"></div>
          </div>
    
    
          <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
    
            <div class="arc-top-l"></div>
    
            <div class="text"></div>
          </div>
    
        </div>
      </div>
    
    </body>

    【讨论】:

      【解决方案2】:

      试试这个,

      .circle {
        z-index: 10;
        position: absolute;
        width: 13em;
        height: 13em;
        border-radius: 50%;
        background: lightblue;
        top: 60px;
        left: 50%;
        margin-left: -91px;
      }
      
      .corners {
        background: #eee;
        color: #333;
        position: relative;
        overflow: hidden;
      }
      
      .text {
        border: 1px solid #ccc;
        padding: 8px 20px 8px;
        height: 150px;
      }
      
      .arc-bottom-l,
      .arc-bottom-r,
      .arc-top-l,
      .arc-top-r {
        position: absolute;
        background: #fff;
        width: 210px;
        height: 210px;
        border-radius: 50%;
        border: 1px solid #ccc;
      }
      
      .arc-bottom-l {
        bottom: -100px;
        left: -100px;
      }
      
      .arc-bottom-r {
        bottom: -100px;
        right: -100px;
      }
      
      .arc-top-l {
        top: -100px;
        left: -100px;
      }
      
      .arc-top-r {
        top: -100px;
        right: -100px;
      }
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
      
      <body>
      
        <div class="container" style="height:300px; text-align:center;">
          <div class='circle'></div>
          <div class="row">
            <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
      
              <div class="text"></div>
              <div class="arc-bottom-r"></div>
      
            </div>
            <div class="corners col-md-6 col-sm-6 col-lg-6  col-xs-6">
      
              <div class="text"></div>
              <div class="arc-bottom-l"></div>
      
      
            </div>
          </div>
          <div class="row" style="height:0px"></div>
          <div class="row">
            <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
      
              <div class="arc-top-r"></div>
              <div class="text"></div>
            </div>
      
      
            <div class="corners col-md-6 col-sm-6 col-lg-6 col-xs-6">
      
              <div class="arc-top-l"></div>
      
              <div class="text"></div>
            </div>
      
          </div>
        </div>
      
      </body>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-09
        • 1970-01-01
        • 2021-09-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多