2017-05-05 87 views
2

我得到的问题,在我的CSS代码....内嵌块CSS

的问题是....

为什么“图标朋友”和“图标隐私”不想被对齐文字

的Home.html

<link rel="stylesheet" href="//cdn.materialdesignicons.com/1.9.32/css/materialdesignicons.min.css"> 

<div class="privacy-select"> 
    <span class="display-ib"> 
    <span class="mdi mdi-earth"></span> 
    <p>World</p> 
    </span> 

    <ul class="my-dropdown"> 
    <li> 
     <span class="mdi mdi-account"></span> 
     <p>Friend</p> 
    </li> 
    <li> 
     <span class="mdi mdi-lock"></span> 
     <p>Privacy</p> 
    </li> 
    </ul> 

</div> 

Home.css

.privacy-select { 
    position: relative; 
    display: inline-block 
} 

span { 
    display: inline-block; 
} 

p { 
    margin: 0; 
    display: inline-block; 
} 

ul { 
    dispaly: inline-block; 
    margin: 0; 
    padding: 0; 
    list-style: none; 
} 

.my-dropdown { 
    position: absolute; 
    top: 100%; 
    right: 0; 
    margin-top: 1em; 
} 

见我的编码在https://jsfiddle.net/FIERMANDT/7gygxncp/

回答

3

那是因为你们已经做出了privacy-select DIV内嵌块 - 这意味着它的宽度是一样宽,最宽的元素中 - 在这种情况下是display-ib跨度为您所做的UL绝对位置(移动出来的流动)

这意味着,因为这是不够宽为UL项目,该项目的UL将包裹除非你告诉他们不要:

.privacy-select { 
 
    position: relative; 
 
    display: inline-block; 
 
} 
 

 
span { 
 
    vertical-align: middle; 
 
} 
 

 
p { 
 
    margin: 0; 
 
    display: inline-block; 
 
} 
 

 
ul{ 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
} 
 

 
.my-dropdown { 
 
    position:absolute; /* does this need to be absolutely positioned - removing this is another way fix your issue */ 
 
    top:100%; 
 
    right: 0; 
 
    margin-top: 1em; 
 
    white-space:nowrap; /* add this, or alternately give this a min-width, or you could make privacy-select a block element */ 
 
}
<link rel="stylesheet" href="//cdn.materialdesignicons.com/1.9.32/css/materialdesignicons.min.css"> 
 
<div class="privacy-select"> 
 
    <span class="display-ib"> 
 
    <span class="mdi mdi-earth"></span> 
 
    <p>World</p> 
 
    </span> 
 

 
    <ul class="my-dropdown"> 
 
    <li> 
 
     <span class="mdi mdi-account"></span> 
 
     <p>Friend</p> 
 
    </li> 
 
    <li> 
 
     <span class="mdi mdi-lock"></span> 
 
     <p>Privacy</p> 
 
    </li> 
 
    </ul> 
 
</div>

+0

谢谢:d,真棒对我来说:d – Firmansyah

+0

不客气,很高兴我可以帮助:) – Pete

0

删除position:absolute.my-dropdown

.privacy-select { 
 
    position: relative; 
 
    display: inline-block 
 
} 
 

 
span { 
 
    display: inline-block; 
 
} 
 

 
p { 
 
    margin: 0; 
 
    display: inline-block; 
 
} 
 

 
ul { 
 
    dispaly: inline-block; 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
} 
 

 
.my-dropdown { 
 
    top: 100%; 
 
    right: 0; 
 
    margin-top: 1em; 
 
}
<link rel="stylesheet" href="//cdn.materialdesignicons.com/1.9.32/css/materialdesignicons.min.css"> 
 

 
<div class="privacy-select"> 
 
    <span class="display-ib"> 
 
    <span class="mdi mdi-earth"></span> 
 
    <p>World</p> 
 
    </span> 
 
    
 
    <ul class="my-dropdown"> 
 
    <li> 
 
     <span class="mdi mdi-account"></span> 
 
     <p>Friend</p> 
 
    </li> 
 
    <li> 
 
     <span class="mdi mdi-lock"></span> 
 
     <p>Privacy</p> 
 
    </li> 
 
    </ul> 
 
    
 
</div>

也:JS Fiddle Demo

1

改变位置从absoluterelative。所以,你的图标将是相对于DIV

.my-dropdown { 
    position: relative; 
    top: 100%; 
    right: 0; 
    margin-top: 1em; 
} 
0

.my-dropdown容器太窄 - 设置一个宽度,并allign它left: 0代替right: 0

此外,您在'display'有一个错字的ul

这里#S上的小提琴:https://jsfiddle.net/w133fbu8/1/

0
.privacy-select { 
    position: relative; 
    display: inline-block 
} 

span { 
    display: inline-block; 
} 

p { 
    margin: 0; 
    display: inline-block; 
} 

ul { 
    display: inline-block; 
    margin: 0; 
    padding: 0; 
    list-style: none; 
} 

.my-dropdown { 
    position: absolute; 
    width: 90px; 
    top: 100%; 
    left: 0; 
    margin-top: 1em; 
} 


<link rel="stylesheet" href="//cdn.materialdesignicons.com/1.9.32/css/materialdesignicons.min.css"> 

<div class="privacy-select"> 
    <span class="display-ib"> 
    <span class="mdi mdi-earth"></span> 
    <p>World</p> 
    </span> 

    <ul class="my-dropdown"> 
    <li> 
     <span class="mdi mdi-account"></span> 
     <p>Friend</p> 
    </li> 
    <li> 
     <span class="mdi mdi-lock"></span> 
     <p>Privacy</p> 
    </li> 
    </ul> 

</div>