老师span不用display:inline-block,他的margin就生效了,为什么?

老师span不用display:inline-block,他的margin就生效了,为什么?

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

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

4回答
好帮手慕星星 2019-10-22 09:40:47

同学你好,

是设置了绝对定位的原因:

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

会有块元素的特性,就可以设置宽高了。例如:

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

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

自己可以测试下,祝学习愉快!

欢迎采纳~

好帮手慕星星 2019-10-21 18:17:23

同学你好,这边测试是没有问题的。

从你粘贴的图片中看到margin值都没有设置上:

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

正常应该是这样的:

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

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

看看不是忘记保存了呢。建议重新测试下,或者清除浏览器缓存进行测试下。

祝学习愉快!

  • 提问者 原来是晓琪_ #1
    这个我明白了,谢谢 ,但是html中的i标签也是行内元素,没转换成 inline-block 设置宽高就生效了为什么呢?
    2019-10-21 19:47:37
提问者 原来是晓琪_ 2019-10-21 16:57:20

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>Rigister</title>
 <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
 <div class="register">
  <p class="title">
   <span>登 录</span>
   <span class="current">注 册</span>
  </p>
  <div class="form">
   <div>
    <span>+86</span>
    <input type="text" name="user" id="user" placeholder="请输入注册手机号" autocomplete="off"> 
    <i></i>
    <p class="info"></p>
   </div>
   <div>
    <input type="password" name="password" id="password" placeholder="请设置密码">
    <i></i>
    <p class="info"></p>
   </div>
   <p class="button">
    <a href="javascript:;" id="sigup-btn" class="btn">注册</a>
   </p>
  </div>
 </div>
 <span class="a">00</span>
</body>
</html>

css

*{
 margin: 0;
 padding: 0;
}

body{
 background-color: #333;
}

.register{
 width: 300px;
 height: 270px;
 margin: 80px auto;
 padding: 15px 30px;
 background-color: #eee;
 border-radius: 5px;
}

.title{
 height: 35px;
}

.title span{
 font-size: 16px;
 font-weight: bold;
 color: #666;
 margin-right: 30px;
 cursor: pointer;
}

.title span.current{
 color: #f00;
}

.form div{
 width: 290px;
 height: 30px;
 border-radius: 8px;
 background: #fff;
 margin-bottom: 25px;
 padding: 8px 10px;
}

.form div span{
 display: inline-block;
 padding-top: 5px;
 color: #666;
}

.form div input{
 border: none;
}
.a{
 margin:10px 20px;
}

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

我测试的是span 的margin 上下左右都不好使呀?

好帮手慕星星 2019-10-21 10:19:30

同学你好,指的是这里吗?

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

span是行内元素,但是左右的margin值是可以实现效果的。例如:

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

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

自己可以测试理解下,祝学习愉快!

欢迎采纳~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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