2017-04-15 137 views
0

我可以使用一些帮助,因为我是html编码的新手。无论如何, 我已经做了一个带引导的旋转木马。传送带本身工作正常。但在旋转木马中放置一个按钮后(使用top:(px)和right:(px),因为我不知道如何将它放在我想要的地方),但它仍然可以正常工作。直到我开始调整窗口大小。背景变小,但按钮种类保持不变。所以它开始四处移动,曾经是彼此旁边的2个按钮,现在是2个按钮,它们之间有很多空间。在这里,看看我的代码: HTML如何防止在调整窗口大小时移动按钮

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <meta name="viewport" content="width = device-width, initial-scale = 1"> 
     <title>Galaxy</title> 
     <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
     <link rel="stylesheet" type="text/css" href="css/bootstrap.css"> 
     <link rel="stylesheet" type="text/css" href="css/style.css"> 
     <style type="text/css"> 
</style> 
    </head> 
     <body> 
      <div id="theCarousel" class="carousel slide" data-ride="carousel"> 
       <ol class="carousel-indicators"> 
        <li data-target="#theCarousel" data-slide-to="0" class="active"></li> 
        <li data-target="#theCarousel" data-slide-to="1"></li> 
       </ol> 
       <div class="carousel-inner"> 
        <div class="item active"> 
         <img src="galaxy3.jpg"> 
         <div class="slide1"></div> 
         <div class="carousel-caption"> 
          <div class="bannertext"> 
           <h1>Santorodesign</h1> 
           <p>A website made by Michael</p> 
           <div class="mobileHide"> <button id="headerbutton-nederlands">Nederlands</button></div> 
           <div class="mobileHide"> <button id="headerbutton-english">English</button></div> 
          </div>        
         </div> 
       </div> 
       <div class="item"> 
        <div class="slide2"></div> 
        <img src="galaxy2.jpg"> 
        <div class="carousel-caption"> 
         <div class="bannertext2"> 
          <h1>Explore the galaxy<h1> 
        </div> 
       </div>   
      </div> 

       <a class="left carousel-control" href="#theCarousel" data-slide="prev"> 
        <span class="glyphicon glyphicon-chevron-left"></span> 
       </a> 

       <a class="right carousel-control" href="#theCarousel" data-slide="next"> 
        <span class="glyphicon glyphicon-chevron-right"></span> 
       </a>    
      </div> 
     </div> 
     <div id="firstrow"> 
      <div class="planet col-lg-4 col-md-4 col-sm-6 col-xs-12"> 
       <img id="mercury" src="mercury.png"> <br> 
       (text) <br> 
       <a href="#"><button type="submit" class="btn-primary btn-lg">Learn more about Mercury</button></a> 
      </div> 
      <div class="planet col-lg-4 col-md-4 col-sm-6 col-xs-12"> 
       <img id="earth" src="earth.png"> <br> 
       (text)<br> 
       <a href="#"><button type="submit" class="btn-primary btn-lg">Learn more about the Earth</button></a> 
      </div> 
      <div class="planet col-lg-4 col-md-4 col-sm-6 col-xs-12"> 
       <img id="venus" src="venus.png"> <br> 
       (text) <br> 
       <a href="#"><button type="submit" class="btn-primary btn-lg">Learn more about Venus</button></a> 
      </div> 
     </div>   
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
     <script src="js/bootstrap.min.js"></script> 
    </body> 
</html> 

CSS

.carousel-control.left, .carousel-control.right { 
    background-image: none 
} 
#firstrow { 
    font-size: 2em; 
    padding: 100px 0 0 0; 
    width: 100%; 
    height: 550px; 
    text-align: center; 
    color: black; 
    background: #DCDCDC; 
    position: relative; 
} 
@media all and (max-width: 900px) { 
    #headerbutton-nederlands { display: none; } 
    #headerbutton-english { display: none; } 
} 
.planet { 
    margin-bottom: 30px; 
    position: relative; 
} 
    .planet img { 
     height: 300px; 
     max-width: none; 
    } 

    .bannertext { 
     font-size: 1.3em; 
     line-height: 15px; 
    } 
    .bannertext h1 { 
     font-size: 2em; 
    } 
    .bannertext2 { 
     font-size: 2em; 
    } 
.mobileShow { display: none;} 
.mobileHide { display: inline;} 
    /* Smartphone Portrait and Landscape */ 
    @media only screen 
     and (max-device-width : 480px){ 
     .mobileShow { display: inline;} 
     .mobileHide { display: none;} 
     .planet img{ 
      height: 200px; 
     } 
     } 
#headerbutton-nederlands { 
    position: absolute; 
    font-weight: bold; 
    bottom: 35px; 
    right: -90px; 
    -webkit-border-radius: 5px; 
    line-height: 50px; 
    color: white; 
    background-color: #778899; 
    width: 13%; 
    text-align: center; 
    border: white 2px solid ;  
} 
#headerbutton-english { 
    position: absolute; 
    font-weight: bold; 
    bottom: 35px; 
    right: 100px; 
    -webkit-border-radius: 5px; 
    line-height: 50px; 
    color: white; 
    background-color: #778899; 
    width: 13%; 
    text-align: center; 
    border: white 2px solid ; 
} 

基本上是我想要的是按键+的按钮中的文本,当窗口变小也调整。就好像按钮是图像的一部分一样。

谢谢您的时间。 -Michael

+0

由2个非常不同的答案来看,它可能用http://codepen.io或http://jsfiddle.net演示来澄清你的问题是个好主意 – ryantdecker

+0

可能与[此问题]重复(http://stackoverflow.com/questions/1495407/maintain-the对的一-DIV与 - CSS -aspect比)。如果你打算将来编写SCSS而不是纯CSS,你也可以检查[this mixin](https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/)。 – andreim

回答

0

如果您希望相对于屏幕大小缩放按钮,则需要使用相对单位而不是像素来对其进行设置。您可以使用%将它们相对于其父元素emrem进行尺寸调整,以根据字体大小调整它们的大小,或者 - 最有可能满足您的需要 - vhvw将它们相对于高度和宽度的视口,分别。

假设您最初的风格上视工作1140px宽(只是一个任意起始点),下面的CSS可以让你在正确的方向前进:

#headerbutton-nederlands { 
    position: absolute; 
    font-weight: bold; 
    bottom: 3vw; 
    right: -8vw; 
    -webkit-border-radius: .5vw; 
    line-height: 4.3vw; 
    color: white; 
    background-color: #778899; 
    width: 13%; 
    text-align: center; 
    border: white 2px solid ;  
} 
0

您需要将position: relative;属性添加到.bannertext元素。当子元素完全位于相对位置的父元素内时,它会做的是,它确保子元素与父元素的边界保持相对。因此,请将您的CSS中的.bannertext更改为以下版本,它应该可以正常工作。

.bannertext { 
    font-size: 1.3em; 
    line-height: 15px; 
    position: relative; 
} 

您可能需要,但这样又回到你想再要在正确的地方,以更新topright性能。

相关问题