侧边栏壁纸
  • 累计撰写 57 篇文章
  • 累计创建 23 个标签
  • 累计收到 4 条评论

50projects50days知识点-split-landing-page

cluski
2023-03-21 / 0 评论 / 0 点赞 / 119 阅读 / 738 字
温馨提示:
本文最后更新于 2023-03-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

示例网址:

https://50projects50days.com/projects/split-landing-page/

http://50projects.tc.cluski.top/50projects50days/split-landing-page/

效果:

split-landing-page

思路:

首先分别是左右两栏设置对应的背景图片。然后使用::before伪元素设置遮罩。而遮罩是使用rgba(28, 122, 28, 1)来设置的,所以会有个半透明的效果。

在js中,对两栏的父容器增加了mouseentermouseleave的事件监听,触发事件之后,增加/减少对应半栏的宽度。

px、rem、em

区别

  1. px是固定的像素,一旦设置了就无法因为适应页面大小而改变。
  2. emrem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。
  3. em是相对于其父元素来设置字体大小的,一般都是以<body>font-size为基准。这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。而rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值。

总之em相对于父元素,rem相对于根元素。

em示例

  1. 子元素字体大小em相对于父元素字体大小

  2. 元素的width/height/padding/marginem的话是相对于该元素的font-size

  3. 任何浏览器默认字体大小都是16px,所有未经调整的浏览器都符合1em=16px

<div>
    父元素div
    <p>
        子元素p
        <span>孙元素span</span>
    </p>
</div>
div {
    font-size: 40px;
    width: 7.5em; /* 300px */
    height: 7.5em;
    border: solid 2px black;
}
p {
    font-size: 0.5em; /* 20px */
    width: 7.5em; /* 150px */
    height: 7.5em;
    border: solid 2px blue;
    color: blue;
}
span {
    font-size: 0.5em;
    width: 7em;
    height: 6em;
    border: solid 1px red;
    display: block;
    color: red;
}

rem示例

rem是全部的长度都相对于根元素(<html>元素)。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem。

<div>
    父元素div
    <p>
        子元素p
        <span>孙元素span</span>
    </p>
</div>
html {
    font-size: 10px;
}
div {
    font-size: 4rem; /* 40px */
    width: 20rem; /* 200px */
    height: 20rem;
    border: solid 2px black;
}
p {
    font-size: 2rem; /* 20px */
    width: 10rem;
    height: 10rem;
    border: solid 1px blue;
    color: blue;
}
span {
    font-size: 1.5rem;
    width: 7rem;
    height: 6rem;
    border: solid 2px red;
    display: block;
    color: red;
}

white-space

white-space 属性是用来设置如何处理元素中的空白。

换行符 空格和制表符 文字换行 行尾空格
normal 合并 合并 换行 删除
nowrap 合并 合并 不换行 删除
pre 保留 保留 不换行 保留
pre-wrap 保留 保留 换行 挂起
pre-line 保留 合并 换行 删除
break-spaces 保留 保留 换行 换行
0

评论区