将图像绝对定位在 bootstrap 导航栏列表项中而不影响导航高度?
Positioning image absolutely in bootstrap navbar list item without effecting nav height?
这个问题已经解决了,但是由于某种原因我不能再过两天接受我自己的问题的答案了?
我有一个合理的 bootstrap 导航,其中一个项目需要一个图像,我的问题是我可以这样做,但导航的高度会发生变化以匹配图像的高度,但我需要导航保持在 50 像素左右的高度,并且图像或多或少地覆盖导航 - 此处示例:
我试着在列表项中制作一个 div 作为图像的容器,相对定位并给它一个与图像宽度相同的固定宽度,但列表项会覆盖图像:
HTML
<div class="logo-nav">
<a href="#">
<img src="http://placecage.com/c/141/141" alt="">
</a>
</div>
CSS
.logo-nav {
position: relative;
width: 141px;
}
.logo-nav a {
position: absolute;
}
此处示例:
http://jsfiddle.net/2vp56uta/1/
我不明白为什么下面的列表项不考虑容器 .logo-nav 的宽度?
我猜你想要这样的东西:http://jsfiddle.net/2vp56uta/2/
感谢 CSS3 后台 属性 你可以很容易地解决这个问题。但是如果你想在你的页面中放置很多不同的图像,我建议你最好寻找不同的解决方案。
<li><a id="img" href="#"></a></li>
#img {
background:url('http://placecage.com/c/141/141')no-repeat center;
background-size:contain;
}
假设我理解你想要完成的事情(我不确定你所说的 "overlay" 到底是什么意思),something like this 看起来它会如你所愿。
.logo-nav {
height: 50px;
}
.logo-nav a img {
height: 100%;
}
您尝试这样做的方式存在问题,position: absolute
从布局流程中取出了一个元素,导致页面布局就像该元素不存在一样。
对不起,我一定没有解释清楚,我希望图像的宽度和高度为 100%,导航位于其后。话虽如此,尽管我使用边距而不是宽度来解决它,但它会将列表项推到右侧。
.logo-nav {
position: relative;
margin-right: 141px;
}
.logo-nav a {
margin-right: 1px;
}
.logo-nav img {
position: absolute;
}
http://jsfiddle.net/x3rsy53d/3/
标记现在只需要清理并提高效率:)!
谢谢大家的回答!
这个问题已经解决了,但是由于某种原因我不能再过两天接受我自己的问题的答案了?
我有一个合理的 bootstrap 导航,其中一个项目需要一个图像,我的问题是我可以这样做,但导航的高度会发生变化以匹配图像的高度,但我需要导航保持在 50 像素左右的高度,并且图像或多或少地覆盖导航 - 此处示例:
我试着在列表项中制作一个 div 作为图像的容器,相对定位并给它一个与图像宽度相同的固定宽度,但列表项会覆盖图像:
HTML
<div class="logo-nav">
<a href="#">
<img src="http://placecage.com/c/141/141" alt="">
</a>
</div>
CSS
.logo-nav {
position: relative;
width: 141px;
}
.logo-nav a {
position: absolute;
}
此处示例: http://jsfiddle.net/2vp56uta/1/
我不明白为什么下面的列表项不考虑容器 .logo-nav 的宽度?
我猜你想要这样的东西:http://jsfiddle.net/2vp56uta/2/
感谢 CSS3 后台 属性 你可以很容易地解决这个问题。但是如果你想在你的页面中放置很多不同的图像,我建议你最好寻找不同的解决方案。
<li><a id="img" href="#"></a></li>
#img {
background:url('http://placecage.com/c/141/141')no-repeat center;
background-size:contain;
}
假设我理解你想要完成的事情(我不确定你所说的 "overlay" 到底是什么意思),something like this 看起来它会如你所愿。
.logo-nav {
height: 50px;
}
.logo-nav a img {
height: 100%;
}
您尝试这样做的方式存在问题,position: absolute
从布局流程中取出了一个元素,导致页面布局就像该元素不存在一样。
对不起,我一定没有解释清楚,我希望图像的宽度和高度为 100%,导航位于其后。话虽如此,尽管我使用边距而不是宽度来解决它,但它会将列表项推到右侧。
.logo-nav {
position: relative;
margin-right: 141px;
}
.logo-nav a {
margin-right: 1px;
}
.logo-nav img {
position: absolute;
}
http://jsfiddle.net/x3rsy53d/3/
标记现在只需要清理并提高效率:)!
谢谢大家的回答!