为什么下面的input标签会比右浮动的标签长

为什么下面的input标签会比右浮动的标签长

http://img1.sycdn.imooc.com/climg//58da6878000147f411280304.jpg

<!DOCTYPE html>
<html><head>
    <meta charset="UTF-8">
    <title>Input</title>
    <style type="text/css">
     div{
      width: 800px;
      margin: 0 auto;
     }
     input:nth-child(1){
      float: left;
     }
     input:nth-child(2){
      float: right;
     }
     input:nth-child(3){
      width: 100%;
     }
    </style>
</head><body>
    <div>
        <input type="text">
        <input type="text">
        <input type="text">
    </div>
</body>
</html>


正在回答

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

2回答

是和父元素同宽的呀,input标签的父元素是div,现在不就是和div的宽度一样的吗?现在的宽度就是804px,父元素的宽度是800,再加上input本身的边框的宽度,这个边框的宽度是2px,所以,加上两个边框的宽度总宽度就是800+2*2=804px。

http://img1.sycdn.imooc.com/climg//58db1d42000131ed08700175.jpg

  • 慕勒5592297 提问者 #1
    非常感谢!另外,想问下如果父元素的宽度是自适应的话,如何保持上下的input能始终对齐呢
    2017-03-29 14:13:26
  • Miss路 回复 提问者 慕勒5592297 #2
    可以给input标签统一设置宽度的。
    2017-03-29 18:38:22
Miss路 2017-03-28 22:04:57

因为你在第17行设置了宽度为100%。所以宽度要宽

  • 提问者 慕勒5592297 #1
    float:right不是浮动到父元素的最右边么
    2017-03-29 09:31:05
  • 提问者 慕勒5592297 #2
    我错了。。确实是浮动到最右边。但是width:100%不是应该和父元素同宽么,为什么第三个input元素会超出父元素的宽度呀
    2017-03-29 09:37:51
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

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

在线咨询

领取优惠

免费试听

领取大纲

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