【问题标题】:Float:right element not inline with float:left element浮动:右元素不与浮动:左元素内联
【发布时间】:2018-09-15 02:24:49
【问题描述】:

我有一个以旋转方式显示的标题#resourceWrapTitle。我用于定位的一个方面是float:left。当我这样做时,它会使我的容器右侧的位置显示从我想要它的顶部稍微向下 - 容器#resourceCont。我将此容器设置为float:right,所以我认为它会出现在标题旁边。

有谁知道为什么#resourceCont 被下推以及如何解决?

我想要容器的位置的图片:

#pdfBannerRight {
	width: 300px;
	background: #2f2f2f;
	height: 450px;
	position: absolute;
	top: 18%;
	right: 0;
}
#pdfBannerRightCont {
	position: relative;
	width: 100%;
	height: 100%;
}
#resourceWrapTitle {
	float: left;
    transform-origin: top left;
	margin: 3% 0 0 8px;
    -webkit-transform: rotate(-90deg) translateX(-100%);
    transform: rotate(-90deg) translateX(-100%);
    font-family: 'Nunito', sans-serif;
    letter-spacing: .2rem;
    font-size: 1.7rem;
    color: #FFF;
    text-transform: uppercase;

}
#resourceWrapTitle:after {
	content: '';
	display: block;
	height: 4px;
	background: #FFF;
	width: 80%;
	text-align: center;
	margin: 10px auto;
}
#pdfResourceWrap {
	float: right;
	margin: 0 auto;
	padding: 20px 0;
	width: 80%;
	height: auto;
}
.pdfResource {
	width: 48%;
	height: auto;
	display: inline-block;
	vertical-align: top;
	margin: 15px 1%;
	padding: 5px 0;
	text-align: center;
	-webkit-transition: all .45s ease;transition: all .45s ease;
}
.pdfResource:hover {
	background: gray;
	-webkit-transition: all .45s ease;transition: all .45s ease;
}
.pdfResource img {
	width: 50px;
	height: auto;
	margin: 0 auto;
}
.resourceTitle {
	font-family: 'Nunito', sans-serif;
	font-size: .8rem;
	letter-spacing: .1rem;
	color: #F2F2F2;
	margin-top: 5px;
	line-height: 1.4em;
	padding: 0 5px;
}
<div id="pdfBannerRight">
						<div id="pdfBannerRightCont">
							<h3 id="resourceWrapTitle">Resources</h3>
							<div id="pdfResourceWrap">
								
								<div id="resourceCont">
									<a href="#" class="pdfResource">
										<img src="https://imagineacademy.microsoft.com/content/images/microsoft-img.png" alt="Img 1">
										<h4 class="resourceTitle">Img 1</h4>
									</a><a href="#" class="pdfResource">
										<img src="https://imagineacademy.microsoft.com/content/images/microsoft-img.png" alt="Img2">
										<h4 class="resourceTitle">Img 2</h4>
									</a>
								</div>
							</div>
					</div>

【问题讨论】:

  • 有几种方法可以解决这个问题。您可以使用 flexbox 或网格来完成。你能创建jsFiddle或codeopen吗?
  • 只需将绝对位置添加到您的#resourceWrapTitle

标签: html css css-float


【解决方案1】:

我所做的更改:

来自

#resourceWrapTitle {
    float: left;
}

到

#resourceWrapTitle {
    position: absolute;
    top: 0;
    left: 0;
}

#pdfResourceWrap 未将自身置于顶部的原因是,#resourceWrapTitle 仍位于顶部。它已旋转,但仍在文档流中,保持其原始位置。但是当我从中删除浮动并给它一个absolute 位置时,它超出了文档的流程,因此没有保留它的原始位置。如果您仍然不清楚,请阅读css box model 和css position。

希望对您有所帮助。谢谢。

#pdfBannerRight {
	width: 300px;
	background: #2f2f2f;
	height: 450px;
	position: absolute;
	top: 18%;
	right: 0;
}
#pdfBannerRightCont {
	position: relative;
	width: 100%;
	height: 100%;
}
#resourceWrapTitle {
	position: absolute;
    top: 0;
    left: 0;
    transform-origin: top left;
	margin: 3% 0 0 8px;
    -webkit-transform: rotate(-90deg) translateX(-100%);
    transform: rotate(-90deg) translateX(-100%);
    font-family: 'Nunito', sans-serif;
    letter-spacing: .2rem;
    font-size: 1.7rem;
    color: #FFF;
    text-transform: uppercase;

}
#resourceWrapTitle:after {
	content: '';
	display: block;
	height: 4px;
	background: #FFF;
	width: 80%;
	text-align: center;
	margin: 10px auto;
}
#pdfResourceWrap {
	float: right;
	margin: 0 auto;
	padding: 20px 0;
	width: 80%;
	height: auto;
}
.pdfResource {
	width: 48%;
	height: auto;
	display: inline-block;
	vertical-align: top;
	margin: 15px 1%;
	padding: 5px 0;
	text-align: center;
	-webkit-transition: all .45s ease;transition: all .45s ease;
}
.pdfResource:hover {
	background: gray;
	-webkit-transition: all .45s ease;transition: all .45s ease;
}
.pdfResource img {
	width: 50px;
	height: auto;
	margin: 0 auto;
}
.resourceTitle {
	font-family: 'Nunito', sans-serif;
	font-size: .8rem;
	letter-spacing: .1rem;
	color: #F2F2F2;
	margin-top: 5px;
	line-height: 1.4em;
	padding: 0 5px;
}
<div id="pdfBannerRight">
						<div id="pdfBannerRightCont">
							<h3 id="resourceWrapTitle">Resources</h3>
							<div id="pdfResourceWrap">
								
								<div id="resourceCont">
									<a href="#" class="pdfResource">
										<img src="https://imagineacademy.microsoft.com/content/images/microsoft-img.png" alt="Img 1">
										<h4 class="resourceTitle">Img 1</h4>
									</a><a href="#" class="pdfResource">
										<img src="https://imagineacademy.microsoft.com/content/images/microsoft-img.png" alt="Img2">
										<h4 class="resourceTitle">Img 2</h4>
									</a>
								</div>
							</div>
					</div>

【讨论】:

    猜你喜欢
    • 2019-06-23
    • 2011-11-06
    • 2014-04-16
    • 1970-01-01
    • 2021-07-07
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多