向右浮动元素不完全向右浮动
Float right element not floating entirely right
我有两列方框。有左右两边。由于某种原因,右侧并没有一直浮动到容器的末端。我没有任何余地阻止它这样做,所以我不确定为什么它没有完全结束。
你可以在fiddle这里看到:
如果您查看上面写着 'click a service to find out more' 的小 text/note,它一直浮动到右侧并位于容器的末端。右侧标签需要与那些标签一样远。
另外,旁注。你可以看到我有一个悬停效果,从左到右拉出一个新的背景颜色。我不确定为什么背景颜色不会像滑动时那样过渡。我有主要元素的转换代码。
有谁知道为什么这两个东西不起作用?
#service-tabs {
width: 100%;
padding: 100px 0;
height: auto;
background: #F0F0F0;
overflow: auto;
}
#service-tabs-container {
width: 70%;
margin: 0 auto;
text-align: center;
}
#service-tabs-container-title {
color: #404040;
font-size: 1.3em;
margin-bottom: 15px;
text-align: left;
}
#service-tabs-container-title2 {
color: #578570;
font-size: 2.8em;
margin-bottom: 20px;
line-height: 1.4em;
text-align: left;
}
#service-tabs-container-note {
margin: 40px 0;
font-size: .7em;
text-align: right;
}
#service-tabs-left {
float: left;
width: 50%;
}
#service-tabs-right {
float: right;
width: 50%;
}
.service-tab-block {
position: relative;
font-size: 1.6em;
padding: 3.5em 20px;
/*padding: 1em 25px;*/
width: 85%;
text-align: center;
color: #FFF;
display: block;
margin: 30px 0;
cursor: pointer;
border: none;
background-image: linear-gradient(to right, #000 50%, #578570 50%);
background-size: 201% 100%;
background-repeat: no-repeat;
background-position: bottom right;
transition:width 0.2s ease;
-webkit-transition:width 0.2s ease;
}
.service-tab-block.active {
background: #000;
color: #FFF;
}
.service-tab-block:hover {
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
background-position: bottom left;
color: #FFF;
border: none;
}
<div id="service-tabs">
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
<div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div id="service-tabs-left">
<h1 class="service-tab-block" id="service_tab1">DEMOLITION</h1>
<h1 class="service-tab-block" id="service_tab2">CONCRETE CRUSHING</h1>
<h1 class="service-tab-block" id="service_tab3">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right">
<h1 class="service-tab-block" id="service_tab4">ASSET RECOVERY</h1>
<h1 class="service-tab-block" id="service_tab5">FOUNDATION REMOVAL</h1>
<h1 class="service-tab-block" id="service_tab6">SITE WORK</h1>
</div>
</div>
</div>
Updated fiddle(为 left/right 浮动着色以便您可以看到发生了什么)
由于您 CSS 规则中的这 2 个属性
.service-tab-block {
padding: 3.5em 20px;
width: 85%;
我changed/added它到这个
.service-tab-block {
width: calc(100% - 60px); /* compensate for the padding and margin */
....
}
#service-tabs-right .service-tab-block {
margin-left: 20px;
}
对于转换,更改
transition:width 0.2s ease;
-webkit-transition:width 0.2s ease;
至
transition:all 0.2s ease;
-webkit-transition:all 0.2s ease;
这里是工作转换的可能解决方案
CSS
#service-tabs {
width: 100%;
padding: 100px 0;
height: auto;
background: #F0F0F0;
overflow: auto;
}
#service-tabs-container {
width: 70%;
margin: 0 auto;
text-align: center;
}
#service-tabs-container-title {
color: #404040;
font-size: 1.3em;
margin-bottom: 15px;
text-align: left;
}
#service-tabs-container-title2 {
color: #578570;
font-size: 2.8em;
margin-bottom: 20px;
line-height: 1.4em;
text-align: left;
}
#service-tabs-container-note {
margin: 40px 0;
font-size: .7em;
text-align: right;
}
#service-tabs-left {
float: left;
width: 50%;
}
#service-tabs-right {
float: right;
width: 50%;
}
.right1{
margin-right: -3%;
}
.service-tab-block {
position: relative;
font-size: 1.6em;
padding: 3.5em 20px;
/*padding: 1em 25px;*/
width: 85%;
text-align: center;
color: #FFF;
display: block;
margin: 30px 0;
cursor: pointer;
border: none;
background-image: linear-gradient(to right, #000 50%, #578570 50%);
background-size: 201% 100%;
background-repeat: no-repeat;
background-position: bottom right;
transition:width 0.2s ease;
-webkit-transition:all 0.2s ease;
}
.service-tab-block.active {
background: #000;
color: #FFF;
}
.service-tab-block:hover {
-webkit-transition: all 0.2s ease-in;
transition:0.4s all ease-in;
background-position: bottom left;
color: #FFF;
border: none;
}
HTML
<div id="service-tabs">
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
<div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div id="service-tabs-left">
<h1 class="service-tab-block" id="service_tab1">DEMOLITION</h1>
<h1 class="service-tab-block" id="service_tab2">CONCRETE CRUSHING</h1>
<h1 class="service-tab-block" id="service_tab3">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right" class="right1">
<h1 class="service-tab-block" id="service_tab4">ASSET RECOVERY</h1>
<h1 class="service-tab-block" id="service_tab5">FOUNDATION REMOVAL</h1>
<h1 class="service-tab-block" id="service_tab6">SITE WORK</h1>
</div>
</div>
</div>
如何将此添加到您的 css
#service-tabs-right .service-tab-block{
float: right;
margin-bottom:0px;
}
已编辑答案。
试试这个代码
#service-tabs {
width: 100%;
padding: 100px 0;
height: auto;
background: #F0F0F0;
overflow: auto;
}
#service-tabs-container {
width: 100%;
text-align: center;
}
#service-tabs-container-title {
color: #404040;
font-size: 1.3em;
margin-bottom: 15px;
text-align: left;
}
#service-tabs-container-title2 {
color: #578570;
font-size: 2.8em;
margin-bottom: 20px;
line-height: 1.4em;
text-align: left;
}
#service-tabs-container-note {
margin: 40px 0;
font-size: .7em;
text-align: right;
}
#service-tabs-left {
float: left;
max-width: 50%;
}
#service-tabs-right {
float: right;
max-width: 50%;
}
.service-tab-block {
position: relative;
font-size: 1.6em;
padding: 3.5em 20px;
padding: 1em 25px;
width: 85%;
text-align: center;
color: #FFF;
display: block;
margin: 30px 0;
cursor: pointer;
border: none;
background-image: linear-gradient(to right, #000 50%, #578570 50%);
background-size: 201% 100%;
background-repeat: no-repeat;
background-position: bottom right;
transition: width 0.2s ease;
-webkit-transition: width 0.2s ease;
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
}
.service-tab-block.active {
background: #000;
color: #FFF;
}
.service-tab-block:hover {
background-position: bottom left;
color: #FFF;
border: none;
}
<div id="service-tabs">
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
< <div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div id="service-tabs-left">
<h1 class="service-tab-block" id="service_tab1">DEMOLITION</h1>
<h1 class="service-tab-block" id="service_tab2">CONCRETE CRUSHING</h1>
<h1 class="service-tab-block" id="service_tab3">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right">
<h1 class="service-tab-block" id="service_tab4">ASSET RECOVERY</h1>
<h1 class="service-tab-block" id="service_tab5">FOUNDATION REMOVAL</h1>
<h1 class="service-tab-block" id="service_tab6">SITE WORK</h1>
</div>
</div>
</div>
试试下面的代码。
如果我们对 div 进行分区,我们应该给父 width:100% 的 css 然后每个 div 有 50% 的宽度。
#service-tabs-container {
clear: both !important;
margin: 0 auto;
text-align: center;
width: 100%;
}
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
<div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div class="" style="width:100%">
<div id="service-tabs-left">
<h1 id="service_tab1" class="service-tab-block">DEMOLITION</h1>
<h1 id="service_tab2" class="service-tab-block">CONCRETE CRUSHING</h1>
<h1 id="service_tab3" class="service-tab-block">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right">
<h1 id="service_tab4" class="service-tab-block">ASSET RECOVERY</h1>
<h1 id="service_tab5" class="service-tab-block">FOUNDATION REMOVAL</h1>
<h1 id="service_tab6" class="service-tab-block">SITE WORK</h1>
</div></div>
希望对你有所帮助。
我有两列方框。有左右两边。由于某种原因,右侧并没有一直浮动到容器的末端。我没有任何余地阻止它这样做,所以我不确定为什么它没有完全结束。
你可以在fiddle这里看到:
如果您查看上面写着 'click a service to find out more' 的小 text/note,它一直浮动到右侧并位于容器的末端。右侧标签需要与那些标签一样远。
另外,旁注。你可以看到我有一个悬停效果,从左到右拉出一个新的背景颜色。我不确定为什么背景颜色不会像滑动时那样过渡。我有主要元素的转换代码。
有谁知道为什么这两个东西不起作用?
#service-tabs {
width: 100%;
padding: 100px 0;
height: auto;
background: #F0F0F0;
overflow: auto;
}
#service-tabs-container {
width: 70%;
margin: 0 auto;
text-align: center;
}
#service-tabs-container-title {
color: #404040;
font-size: 1.3em;
margin-bottom: 15px;
text-align: left;
}
#service-tabs-container-title2 {
color: #578570;
font-size: 2.8em;
margin-bottom: 20px;
line-height: 1.4em;
text-align: left;
}
#service-tabs-container-note {
margin: 40px 0;
font-size: .7em;
text-align: right;
}
#service-tabs-left {
float: left;
width: 50%;
}
#service-tabs-right {
float: right;
width: 50%;
}
.service-tab-block {
position: relative;
font-size: 1.6em;
padding: 3.5em 20px;
/*padding: 1em 25px;*/
width: 85%;
text-align: center;
color: #FFF;
display: block;
margin: 30px 0;
cursor: pointer;
border: none;
background-image: linear-gradient(to right, #000 50%, #578570 50%);
background-size: 201% 100%;
background-repeat: no-repeat;
background-position: bottom right;
transition:width 0.2s ease;
-webkit-transition:width 0.2s ease;
}
.service-tab-block.active {
background: #000;
color: #FFF;
}
.service-tab-block:hover {
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
background-position: bottom left;
color: #FFF;
border: none;
}
<div id="service-tabs">
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
<div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div id="service-tabs-left">
<h1 class="service-tab-block" id="service_tab1">DEMOLITION</h1>
<h1 class="service-tab-block" id="service_tab2">CONCRETE CRUSHING</h1>
<h1 class="service-tab-block" id="service_tab3">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right">
<h1 class="service-tab-block" id="service_tab4">ASSET RECOVERY</h1>
<h1 class="service-tab-block" id="service_tab5">FOUNDATION REMOVAL</h1>
<h1 class="service-tab-block" id="service_tab6">SITE WORK</h1>
</div>
</div>
</div>
Updated fiddle(为 left/right 浮动着色以便您可以看到发生了什么)
由于您 CSS 规则中的这 2 个属性
.service-tab-block {
padding: 3.5em 20px;
width: 85%;
我changed/added它到这个
.service-tab-block {
width: calc(100% - 60px); /* compensate for the padding and margin */
....
}
#service-tabs-right .service-tab-block {
margin-left: 20px;
}
对于转换,更改
transition:width 0.2s ease;
-webkit-transition:width 0.2s ease;
至
transition:all 0.2s ease;
-webkit-transition:all 0.2s ease;
这里是工作转换的可能解决方案
CSS
#service-tabs {
width: 100%;
padding: 100px 0;
height: auto;
background: #F0F0F0;
overflow: auto;
}
#service-tabs-container {
width: 70%;
margin: 0 auto;
text-align: center;
}
#service-tabs-container-title {
color: #404040;
font-size: 1.3em;
margin-bottom: 15px;
text-align: left;
}
#service-tabs-container-title2 {
color: #578570;
font-size: 2.8em;
margin-bottom: 20px;
line-height: 1.4em;
text-align: left;
}
#service-tabs-container-note {
margin: 40px 0;
font-size: .7em;
text-align: right;
}
#service-tabs-left {
float: left;
width: 50%;
}
#service-tabs-right {
float: right;
width: 50%;
}
.right1{
margin-right: -3%;
}
.service-tab-block {
position: relative;
font-size: 1.6em;
padding: 3.5em 20px;
/*padding: 1em 25px;*/
width: 85%;
text-align: center;
color: #FFF;
display: block;
margin: 30px 0;
cursor: pointer;
border: none;
background-image: linear-gradient(to right, #000 50%, #578570 50%);
background-size: 201% 100%;
background-repeat: no-repeat;
background-position: bottom right;
transition:width 0.2s ease;
-webkit-transition:all 0.2s ease;
}
.service-tab-block.active {
background: #000;
color: #FFF;
}
.service-tab-block:hover {
-webkit-transition: all 0.2s ease-in;
transition:0.4s all ease-in;
background-position: bottom left;
color: #FFF;
border: none;
}
HTML
<div id="service-tabs">
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
<div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div id="service-tabs-left">
<h1 class="service-tab-block" id="service_tab1">DEMOLITION</h1>
<h1 class="service-tab-block" id="service_tab2">CONCRETE CRUSHING</h1>
<h1 class="service-tab-block" id="service_tab3">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right" class="right1">
<h1 class="service-tab-block" id="service_tab4">ASSET RECOVERY</h1>
<h1 class="service-tab-block" id="service_tab5">FOUNDATION REMOVAL</h1>
<h1 class="service-tab-block" id="service_tab6">SITE WORK</h1>
</div>
</div>
</div>
如何将此添加到您的 css
#service-tabs-right .service-tab-block{
float: right;
margin-bottom:0px;
}
已编辑答案。
试试这个代码
#service-tabs {
width: 100%;
padding: 100px 0;
height: auto;
background: #F0F0F0;
overflow: auto;
}
#service-tabs-container {
width: 100%;
text-align: center;
}
#service-tabs-container-title {
color: #404040;
font-size: 1.3em;
margin-bottom: 15px;
text-align: left;
}
#service-tabs-container-title2 {
color: #578570;
font-size: 2.8em;
margin-bottom: 20px;
line-height: 1.4em;
text-align: left;
}
#service-tabs-container-note {
margin: 40px 0;
font-size: .7em;
text-align: right;
}
#service-tabs-left {
float: left;
max-width: 50%;
}
#service-tabs-right {
float: right;
max-width: 50%;
}
.service-tab-block {
position: relative;
font-size: 1.6em;
padding: 3.5em 20px;
padding: 1em 25px;
width: 85%;
text-align: center;
color: #FFF;
display: block;
margin: 30px 0;
cursor: pointer;
border: none;
background-image: linear-gradient(to right, #000 50%, #578570 50%);
background-size: 201% 100%;
background-repeat: no-repeat;
background-position: bottom right;
transition: width 0.2s ease;
-webkit-transition: width 0.2s ease;
-webkit-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;
}
.service-tab-block.active {
background: #000;
color: #FFF;
}
.service-tab-block:hover {
background-position: bottom left;
color: #FFF;
border: none;
}
<div id="service-tabs">
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
< <div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div id="service-tabs-left">
<h1 class="service-tab-block" id="service_tab1">DEMOLITION</h1>
<h1 class="service-tab-block" id="service_tab2">CONCRETE CRUSHING</h1>
<h1 class="service-tab-block" id="service_tab3">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right">
<h1 class="service-tab-block" id="service_tab4">ASSET RECOVERY</h1>
<h1 class="service-tab-block" id="service_tab5">FOUNDATION REMOVAL</h1>
<h1 class="service-tab-block" id="service_tab6">SITE WORK</h1>
</div>
</div>
</div>
试试下面的代码。
如果我们对 div 进行分区,我们应该给父 width:100% 的 css 然后每个 div 有 50% 的宽度。
#service-tabs-container {
clear: both !important;
margin: 0 auto;
text-align: center;
width: 100%;
}
<div id="service-tabs-container">
<div id="service-tabs-container-title">WHAT WE OFFER</div>
<div id="service-tabs-container-title2">Our Services</div>
<div id="service-tabs-container-note">* Click a service to find out more.</div>
<div class="" style="width:100%">
<div id="service-tabs-left">
<h1 id="service_tab1" class="service-tab-block">DEMOLITION</h1>
<h1 id="service_tab2" class="service-tab-block">CONCRETE CRUSHING</h1>
<h1 id="service_tab3" class="service-tab-block">SCRAP METAL RECYCLING</h1>
</div>
<div id="service-tabs-right">
<h1 id="service_tab4" class="service-tab-block">ASSET RECOVERY</h1>
<h1 id="service_tab5" class="service-tab-block">FOUNDATION REMOVAL</h1>
<h1 id="service_tab6" class="service-tab-block">SITE WORK</h1>
</div></div>
希望对你有所帮助。