有个小问题

有个小问题

我想优化一下顶部和脚部,我想让内容居中一点。 可是padding和margin都只有左边生效,右边没有效果。

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8"/>

<title>行布局</title>

<link rel="stylesheet" type="text/css" href="./css/2-4.css"/>

<style type="text/css">

*{

margin: 0;

padding: 0;

}

.container {

width: 100%;

height: auto;

font-family: "微软雅黑";

font-size: 16px;

}

.header {

position: fixed;

top: 0;

left: 0;

width: 100%;

height: 100px;

background-color: black;

overflow: hidden;

border: 1px solid red;

}

.header:after,.footer-nav:after {

content: '.';

height: 0;

visibility: hidden;

display: block;

clear: both;

}

.header .logo {

height: 100%;

float: left;

margin-left: 50px;

}

.header .nav-con {

height: 100%;

float: right;

margin-right: 50px;

}

.nav-con .nav {

padding-right: 30px;

height: 100%;

text-align: left;

color: white;

}

.nav .nav-item {

float: left;

margin-left: 30px;

list-style-type: none;

height: 100px;

line-height: 100px;

cursor: pointer;

}

.container {

width: 100%;

margin-top: 100px;

margin-bottom: 100px;

}

.container .banner1,.container .banner2,.container .banner3 {width: 100%;}

.footer {

position: fixed;

bottom: 0;

left: 0;

width: 100%;

height: 100px;

line-height: 100px;

text-align: center;

background-color: black;

color: white;/*

padding-left: 50px;

padding-right: 50px;*/

}

.footer .footer-nav {

width: 100%;

height: auto;

border: 1px solid red;/*

padding-left: 50px;

padding-right: 50px;

margin-left: 50px;

margin-right: 50px;*/

}

.footer-nav .nav-item{

width: 16.6%;

float: left;

list-style-type: none;

cursor: pointer;

}

</style>

</head>

<body>

<div class="page">

<div class="header">

<div class="logo">

<img src="./images/2-4.png" width="100%" height="100%">

</div>

<div class="nav-con">

<ul class="nav">

<li class="nav-item">慕课</li>

<li class="nav-item">职业路径</li>

<li class="nav-item">实战</li>

<li class="nav-item">原文</li>

<li class="nav-item">手机</li>

</ul>

</div>

</div>

<div class="container">

<div class="banner1">

<img src="./images/2-7-1.jpg" width="100%" height="100%">

</div>

<div class="banner2">

<img src="./images/2-7-2.jpg" width="100%" height="100%">

</div>

<div class="banner3">

<img src="./images/2-7-3.jpg" width="100%" height="100%">

</div>

</div>

<div class="footer">

<ul class="footer-nav">

<li class="nav-item">职业路径</li>

<li class="nav-item">职业路径</li>

<li class="nav-item">职业路径</li>

<li class="nav-item">职业路径</li>

<li class="nav-item">职业路径</li>

<li class="nav-item">职业路径</li>

</ul>

</div>

</div>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
妮可妮可妮_ 2018-11-02 17:06:37

你好同学,

老师明白你的意思了,因为头部和底部设置了固定定位(position: fixed;)相对于浏览器窗口进行定位。

用底部举例,注释掉固定定位,就可以看到设置了padding-right其实是生效了的,有一部分内容没有显示完整而已

http://img1.sycdn.imooc.com//climg/5bdc12d60001d12012040654.jpg

同学想要实现居中效果,可以通过设置一个固定的适当宽度,margin:auto;实现水平居中效果,下图为底部举例:

http://img1.sycdn.imooc.com//climg/5bdc135c0001d74104060329.jpghttp://img1.sycdn.imooc.com//climg/5bdc138c0001a1b104720252.jpg

祝学习愉快!

提问者 反向思维逆天的节奏 2018-11-02 16:57:57

我知道问题在哪了。是因为父容器和子容器都设置了宽度100%,padding会撑大内容,不是么有生效,

一个bug不要慌 2018-11-02 15:33:11


http://img1.sycdn.imooc.com//climg/5bdbfef30001749d06220754.jpg

我在.nav-item设置了margin-right:20px;padding-right:30px;都是可以实现的啊?同学你说在header里面添加是什么意思啊,我有点听不懂,同学可以写个代码贴出来,看代码比较容易理解

http://img1.sycdn.imooc.com//climg/5bdbff150001f60306250235.jpg


妮可妮可妮_ 2018-11-02 14:38:13

http://img1.sycdn.imooc.com//climg/5bdbf0700001226404200146.jpghttp://img1.sycdn.imooc.com//climg/5bdbf0d30001499204870159.jpghttp://img1.sycdn.imooc.com//climg/5bdbf0890001a1e104110210.jpghttp://img1.sycdn.imooc.com//climg/5bdbf0c700018bdc05390138.jpg

内外边距设置的效果可以实现

不是很理解同学所描述的问题,建议同学尽量清晰完善地描述问题,老师也尽力高效准确的帮你解答

祝学习愉快!

  • 这不就是我写的吗。 我知道这样可以实现。 但是你在header里面添加padding-left,padding-right,或者是margin-left,margin-right都只有左边是生效的。现在明白了吗
    2018-11-02 14:54:14
  • 我试着在导航项设置了margin-right和padding-right,不是都能实现吗?看楼上图,同学是这个意思吗?
    2018-11-02 15:31:12
  • 我说的是header啊??? 页脚我也有注释。你把注释去掉,看左右什么区别。
    2018-11-02 15:50:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师