CSS中级学习

一、CSS 布局 - display 属性

display 属性规定是否/如何显示元素。

  1. Display: none;
    通常与 JavaScript 一起使用,以隐藏和显示元素,而无需删除和重新创建它们
    默认情况下,< script> 元素使用 display: none;
    display取值和含义如下:
    在这里插入图片描述
    1. display:inline

    将行内元素更改为块元素
    示例代码:

<ul class="u1">
  <li><a href="/html/default.asp" target="_blank">HTML</a></li>
  <li><a href="/css/default.asp" target="_blank">CSS</a></li>
  <li><a href="/js/default.asp" target="_blank">JavaScript</a></li>
</ul>
<p>不设置display属性值:</p>
<ul class="u2">
  <li><a href="/html/default.asp" target="_blank">HTML</a></li>
  <li><a href="/css/default.asp" target="_blank">CSS</a></li>
  <li><a href="/js/default.asp" target="_blank">JavaScript</a></li>
</ul>

.u1 li {
  display: inline;
}

效果展示:
在这里插入图片描述
2. display: block

设置元素的 display 属性仅会更改元素的显示方式,而不会更改元素的种类。因此,带有 display: block; 的行内元素不允许在其中包含其他块元素。
<span class="s1">值为 "block" 的 display 属性会导致</span><span>两元素间的换行。</span><br><br>
<span>值为 "block" 的 display 属性会导致</span><span>两元素间的换行。</span>
.s1 {
  display: block;
}

效果如下:
在这里插入图片描述
3. display:inline-block
与 display: inline 相比,主要区别在于 display: inline-block 允许在元素上设置宽度和高度。

同样,如果设置了 display: inline-block,将保留上下外边距/内边距,而 display: inline 则不会。

与 display: block 相比,主要区别在于 display:inline-block 在元素之后不添加换行符,因此该元素可以位于其他元素旁边。

三者效果对比展示:
在这里插入图片描述

二、CSS定位

在这里插入图片描述

三、CSS布局-浮动

在这里插入图片描述
1. CSS box-sizing 属性
box-sizing: content-box | border-box | inherit;
在这里插入图片描述

2. clear 和 clearfix

clear 属性
clear 属性指定哪些元素可以浮动于被清除元素的旁边以及哪一侧。

clear 属性可设置以下值之一:

none - 允许两侧都有浮动元素。默认值
left - 左侧不允许浮动元素
right- 右侧不允许浮动元素
both - 左侧或右侧均不允许浮动元素
inherit - 元素继承其父级的 clear 值
使用 clear 属性的最常见用法是在元素上使用了 float 属性之后。

在清除浮动时,应该对清除与浮动进行匹配:如果某个元素浮动到左侧,则应清除左侧。您的浮动元素会继续浮动,但是被清除的元素将显示在其下方。
效果展示如下:
在这里插入图片描述
clearfix Hack

如果一个元素比包含它的元素高,并且它是浮动的,它将“溢出”到其容器之外:

然后我们可以向包含元素添加 overflow: auto;,来解决此问题:

效果展示如下:

注意:只要您能够控制外边距和内边距(否则您可能会看到滚动条),overflow: auto clearfix 就会很好地工作。但是,新的现代clearfix hack 技术使用起来更安全,以下代码被应用于多数网站:

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

3. 溢出-overflow
overflow 属性指定在元素的内容太大而无法放入指定区域时是剪裁内容还是添加滚动条。

overflow 属性可设置以下值:

visible - 默认。溢出没有被剪裁。内容在元素框外渲染
hidden - 溢出被剪裁,其余内容将不可见
scroll - 溢出被剪裁,同时添加滚动条以查看其余内容
auto - 与 scroll 类似,但仅在必要时添加滚动条

注释:overflow 属性仅适用于具有指定高度的块元素。

overflow-x 和 overflow-y
overflow-x 和 overflow-y 属性规定是仅水平还是垂直地(或同时)更改内容的溢出:

overflow-x 指定如何处理内容的左/右边缘。
overflow-y 指定如何处理内容的上/下边缘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值