2016-07-06 127 views
0

我想获得一个图像和一个列表元素被固定在我已经在我的CSS中设置的背景图像上的某个点上,而不管屏幕大小。我正在使用引导程序将页面分成两列以创建两个“配置文件”。在每个配置文件中,我再次将页面分成两列,以便将每个配置文件分为配置文件图片和带有文本项目的列表。如何解决在背景图像上的HTML元素位置

我已经试过了解我现在知道的一切,这是我目前的代码。它还没有工作,但也许任何人都可以建议一些调整,使其工作? This is what I am trying to achieveThis is the image I am using

HTML:

<div class="content row"> 
    <div class="col-sm-6"> 
     <div class="profile"> 
      <div class="profile-content"> 
       <p class="big profile-name">Some name</p> 
       <div class="content row"> 
        <div class="col-md-4 profile-img"><img src="./name.png"></div> 
        <div class="col-md-8"><ul><li>Web: HTML/CSS/PHP/JQuery</li><li>Lorem ipsum</li><li>Lorem ipsum</li></ul></div> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div class="col-sm-6"> 
     <div class="profile"> 
      <div class="profile-content"> 
       <p class="big profile-name">Some name</p> 
       <div class="content row "></div> 
        <div class="col-md-4"><ul><li>Lorem ipsum</li><li>Lorem ipsum</li><li>Lorem ipsum</li></ul></div> 
        <div class="col-md-8"><ul><li>Web: HTML/CSS/PHP/JQuery</li><li>Lorem ipsum</li><li>Lorem ipsum</li></ul></div> 
       </div> 
      </div> 
     </div> 
    </div> 

CSS

.profile { 
background-image: url('/screen-1315650.png'); 
background-repeat: no-repeat; 
height: 400px; 
background-size: 100%; 
} 

.profile-content { 
padding: 40px 10px 0px 10px; 
margin: 10% 10% 10% 10%; 
overflow: hidden; 
height: 45%; 
} 

.profile-img { 
align-self: flex-start; 
} 

.profile-name { 
font-weight: 600; 
} 

.content { 
position: relative; 
margin: auto; 
width: 100%; 
max-width: 1024px; 
text-align: center; 
padding: 0 10px; 
} 

任何帮助将不胜感激!我仍然在学习,所以请教我如何钓鱼:-)

+0

请提供您使用的是 – MassDebates

+0

哦哎呦,谢谢你注意到,我忘了这一点的图像。我现在加了它! –

+0

谢谢。如果您使用与OP相同的材料,那么玩起来会更容易:P – MassDebates

回答

0

有许多方法来定位的元素,而是因为你的溢出关注:

这是结构我会用

<div id="container"> 
    <ol id="list"></ol> 
<div> 

我会让你的容器的背景图像(和使用背景属性来格式化,使其与屏幕缩放)。

然后,我会用计算值(),用于确定为列表页边距,并使用VW单元(因为引导是基于屏幕宽度)

我将避免相对绝对定位,因为在列表中的情况下会太久了,它会溢出。

Example

+1

感谢您的回答,如果以下答案不起作用,我会尽力以明确的方式将其纳入其中! –

0

请试试这个代码:

<style> 
    .profile { 
     background: url('mac.png') no-repeat left center; 
     height: 400px; 
     background-size: 100%; 
     position: relative; 
    } 

    .profile-content { 
     position: absolute; 
     top: 20%; 
     left: 10%; 
     right: 10%; 
     z-index: 9; 
     bottom: 0; 
    } 

    .content ul { 
     margin:0; 
     padding:0; 
     list-style:none; 
     text-align: left; 
    } 

    .profile-name { 
     font-weight: 600; 
    } 

    .content { 
     position: relative; 
     margin: auto; 
     width: 100%; 
     max-width: 1024px; 
     text-align: center; 
     padding: 0 10px; 
    } 
</style> 


<div class="content row"> 
    <div class="col-sm-6"> 
     <div class="profile"> 
      <div class="profile-content"> 
       <p class="big profile-name">Some name</p> 
       <div class="content row"> 
        <div class="col-md-4 profile-img"><img class="img-responsive" src="./name.png"></div> 
        <div class="col-md-8"><ul><li>Web: HTML/CSS/PHP/JQuery</li><li>Lorem ipsum</li><li>Lorem ipsum</li></ul></div> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div class="col-sm-6"> 
     <div class="profile"> 
      <div class="profile-content"> 
       <p class="big profile-name">Some name</p> 
       <div class="content row "></div> 
        <div class="col-md-4"><ul><li>Lorem ipsum</li><li>Lorem ipsum</li><li>Lorem ipsum</li></ul></div> 
        <div class="col-md-8"><ul><li>Web: HTML/CSS/PHP/JQuery</li><li>Lorem ipsum</li><li>Lorem ipsum</li></ul></div> 
       </div> 
      </div> 
     </div> 
    </div> 
+0

谢谢你看看它!但是,由于某种原因,内容不会保留在屏幕内并且现在重叠。我添加了[结果](http://imgur.com/NxfVWKh)的屏幕截图,并添加了我用于[测试]的图片(http://imgur.com/2zC2KU9)。 我可能在做其他事情吗? –

+0

你需要添加类“img-responsive”以避免重叠 – vignesh

+0

糟糕,我做了错误的事情,并没有复制该部分。现在我已经这样做了,元素不会重叠,但元素仍然以不同的尺寸浮出屏幕:[新的结果](http://imgur.com/V0XVXWm) –