我正在尝试为我的页脚设置一个3 div,1列表。左边的链接,我社交媒体图标上方中间的标题都居中,然后是右边的另一个链接,如图所示。
我设法用一些写得非常糟糕的代码完成了这个。我甚至不会告诉你css。这很糟糕。
<div class="contentFoot">
<ul>
<li class="joinCommunity">Join our community</li>
<li class="leftFoot"><a class="contentFootLink" href="sign-up">Sign up for email updates</a></li>
<li>
<ul class="soc">
<li><a class="soc-twitter" href="#"></a></li>
<li><a class="soc-facebook" href="#"></a></li>
<li><a class="soc-google" href="#"></a></li>
<li><a class="soc-pinterest" href="#"></a></li>
<li><a class="soc-instagram soc-icon-last" href="#"></a></li>
</ul>
</li>
<a class="contentFootLink" href="feedback"><li class="rightFoot">Give us feedback about our website</li></a>
</ul>
</div>
我现在正在尝试重写以获得响应式设计。以下是我正在尝试重写的内容我正在尝试使用div-inlineblock,div-inlineblock,div-block,div-inlineblock;所以它会被留下,中间堆叠,正确。然后很容易让响应式设计在它足够小时叠加所有东西。
HTML:
<div class="contentFoot">
<div class="leftFoot">Sign up for email updates</div>
<div class="midFoot">Join our community</div>
<ul class="soc">
<li><a class="soc-twitter" href="#"></a></li>
<li><a class="soc-facebook" href="#"></a></li>
<li><a class="soc-google" href="#"></a></li>
<li><a class="soc-pinterest" href="#"></a></li>
<li><a class="soc-instagram soc-icon-last" href="#"></a></li>
</ul>
<div class="rightFoot">Give us feedback about our website</div>
</div>
CSS:
/************* footer ***************/
.contentFoot {
text-align:center;
width: 80%;
margin: 0 auto;
text-align: center;
}
.leftFoot,
.midFoot,
.rightFoot {
display: inline-block;
vertical-align:top;
width: 25%;
}
/***************Social Media****************/
@font-face {
font-family: 'si';
src: url('font/socicon.eot');
src: url('font/socicon.eot?#iefix') format('embedded-opentype'),
url('font/socicon.woff') format('woff'),
url('font/socicon.ttf') format('truetype'),
url('font/socicon.svg#icomoonregular') format('svg');
font-weight: normal;
font-style: normal;
font-family: 'Raleway', sans-serif;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family:si;
src: url(font/socicon.svg) format(svg);
}
}
.soc {
display: block;
list-style:none;
width: 20%;
clear: both;
}
.soc li {
display:inline-block;
*display:inline;
zoom:1;
}
.soc li a {
font-family:si!important;
font-style:normal;
font-weight:400;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
transition:.1s;
text-decoration:none;
text-align:center;
display:block;
position: relative;
width: 40px;
height: 40px;
line-height: 40px;
font-size: 22px;
color: #ffffff;
}
.soc a:hover {
z-index: 2;
-webkit-transform: translateY(-5px);
transform: translateY(-5px);
}
.soc-icon-last{
margin:0 !important;
}
.soc-twitter {
background-color: #4da7de;
}
.soc-twitter:before {
content:'a';
}
.soc-facebook {
background-color: #3e5b98;
}
.soc-facebook:before {
content:'b';
}
.soc-google {
background-color: #d93e2d;
}
.soc-google:before {
content:'c';
}
.soc-pinterest {
background-color: #c92619;
}
.soc-pinterest:before {
content:'d';
}
.soc-instagram {
background-color: #9c7c6e;
}
.soc-instagram:before {
content:'x';
}
编辑:设置.soc以包含保证金:0 auto;把它放在适当的位置,但其他一切仍然不对齐。
答案 0 :(得分:1)
实现所需设计的最佳方法是将社交图标移动到中间部分,并将部分设置为宽度的33.333%
:
<强> HTML 强>
<div class="midFoot">Join our community
<ul class="soc">
<li><a class="soc-twitter" href="#"></a></li>
<li><a class="soc-facebook" href="#"></a></li>
<li><a class="soc-google" href="#"></a></li>
<li><a class="soc-pinterest" href="#"></a></li>
<li><a class="soc-instagram soc-icon-last" href="#"></a></li>
</ul>
</div>
<强> CSS 强>
.leftFoot,
.midFoot,
.rightFoot {
display: inline-block;
vertical-align:top;
font-size: 1rem;
width: 33.3333%;
}
然后删除列表的一些浏览器默认样式:
.soc {
padding: 0;
margin: 0;
}
我还将font-size: 0;
添加到.contentFoot
,然后在页脚部分专门设置font-size
。这是删除inline-block
元素之间添加的空格的常用技巧。
另一个选择是浮动元素。