博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习CSS你必须踩得那些坑(六)
阅读量:6293 次
发布时间:2019-06-22

本文共 1136 字,大约阅读时间需要 3 分钟。

hot3.png

这里加了边框方便:

· 为了能够设置在垂直方向上的高度(padding-top/bottom, margin-top/bottom, height):我们设置行内元素<a> display为inline-block

行内元素是就像水一样,垂直方向上设置高度都没用,所以有时候需要设置为inline-block或block。

有个形象的比喻,inline=>水,inline-block=>果冻,block=>石头

· 设置box-sizing为border-box

默认情况下,元素的height只包括内容区域。但是我们经常需要加入border或者padding,元素的高度的实际高度是padding + border + height,每次你都需要减去padding和border。除了计算麻烦之外,用百分比设置高度的时候,你经常会遇到内容区域溢出的问题:

  <style>

    html,body{

      height: 100%;

      width:100%;

    }

    .container{

      padding: 0 20px;

    }

  </style>

</head>

<body>

  <div class="container">

    Hello World

  </div>

</body>

[站外图片上传中……(4)]

· 通过line-height进行垂直居中:

中水平居中很简单,但是垂直居中就不好做了。通过设置line-height等于height可以让文字垂直居中。关于居中的问题,参考:

最后还有一个大坑!!!

[站外图片上传中……(5)]

为啥navbar高度没有撑开!!!好吧,都是float的错,float导致元素溢出了文档流,从而父元素的高度不会随着float元素高度的变化而适应。

单从float的角度说,有两个思路:

1. 将父元素变成

2. 清除浮动

代码如下:

通过overflow触发BFC

.navbar::after{

    overflow: hidden;

}

clearfix(关于clearfix的讨论,看看stackoverflow上的)

.clearfix:after {

   content: " "; /* Older browser do not support empty content */

   visibility: hidden;

   display: block;

   height: 0;

   clear: both;

}

总结

这一章主要带着你踩踩坑,介绍了几个开发中经常遇到的问题。下一张我们看看在实际开发中,如果从零开始组织你的代码,同时逐步完成这个页面

 

 

转载于:https://my.oschina.net/u/2971691/blog/812403

你可能感兴趣的文章
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>