返回介绍

顺时针简写

发布于 2023-10-15 21:39:32 字数 5342 浏览 0 评论 0 收藏 0

CSS 语法中,可以通过 顺时针 的方式简写属性的值,比如 paddingmargin 等。其规则如下:

上 右 下 左 => 1 2 3 4
上 右 下 => 1 2 3 2
上 右 => 1 2 1 2
上 => 1 1 1 1

类似的还有 border-radius 中,按照 左上右上右下左下 顺序的简写方式。

但是,因为不存在代表 未定义 的占位符,使用简写后,每个方向都被设置了
为了解决这个问题,我们引入了一个 _ 占位符,用来表示 未定义 的状态。

同时,我们也对一些符合 顺时针简写 规律的用法进行了拓展,使其用起来更高效。

absolute: top right bottom left

将当前容器设为 absolute,并设置定位的值。

.mask
    absolute: 0
.toolbar
    absolute: 60px 0 _

生成的 CSS:

.mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.toolbar {
    position: absolute;
    top: 60px;
    right: 0;
    left: 0;
}

fixed: top right bottom left

将当前容器设为 fixed,并设置定位的值。

.back-to-top
    fixed: _ 0 20px _
    // => position: fixed; right: 0; bottom: 20px;

relative: top right bottom left

将当前容器设为 relative,并设置定位的值。

.box
    relative: 10px _ _ _
    // => position: relative; top: 10px;

padding: padding-top padding-right padding-bottom padding-left

替换了 CSS 的 padding,处理使用了 _ 占位符的情况。

.content
    padding: 20px
    // => padding: 20px;

.content code
    padding: _ 5px
    // => padding-right: 5px; padding-left: 5px;

margin: margin-top margin-right margin-bottom margin-left

替换了 CSS 的 margin,处理使用了 _ 占位符的情况。

.main
    margin: _ auto
    // => margin-right: auto; margin-left: auto;

border-color: border-top-color border-right-color border-bottom-color border-left-color

替换了CSS的 border-color,处理使用了 _ 占位符的情况。

.box
    border-color: #f7f7f7 _
    // => border-top-color: #f7f7f7; border-bottom-color: #f7f7f7;

border-style: border-top-style border-right-style border-bottom-style border-left-style

替换了CSS的 border-style,处理使用了 _ 占位符的情况。

border-width: border-top-width border-right-width border-bottom-width border-left-width

替换了CSS的 border-width,处理使用了 _ 占位符的情况。

clockhand: values, property-prefix, property-suffix, sides

生成符合 顺时针简写 规则的属性,以上 Mixin 均是通过它来生成的,很少会直接用到。

.test
    clockhand: 1 2 3 4, 'foo', 'bar', (a b c d)
    // => foo-a-bar: 1; foo-b-bar: 2; foo-c-bar: 3; foo-d-bar: 4;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文