CSS属性

129 阅读3分钟

CSS

选择器

:nth-child()

p:nth-child(3) : 表示第3个p元素标签,而不是p的孩子元素的第三个

基础属性

transform(形状上的改变)

CSS transform 属性允许你旋转,缩放,倾斜或平移给定元素。这是通过修改 CSS 视觉格式化模型的坐标空间来实现的。

注意: 只能转换由盒模型定位的元素。根据经验,如果元素具有display: block,则由盒模型定位元素。

属性值:

  1. transform:matrix(1,2,3,4,5,6)
  2. transform:translate(10px,%)
  3. transform:scale(2,0.5)
  4. transform: rotate(0.5turn)
  5. transform: skew(30deg, 20deg)
  6. transform: scale(0.5) translate(-100%, -100%)

transition(过渡效果)

过渡效果

transition:过渡简写属性。一个属性发生变化时的切换方式,用于为样式设置过渡效果(结合hover使用)

  • transition:height 3s; 如果高度height发生变化时,height 要花费3s时间变化,而不是一下子变化
  • transition:all 3s;hover里的所有变化都要花费3s去变化
  • 该属性是设置在需要发生变化的那个元素的选择器中,不是在hover中
  • 大部分属性都支持过渡效果(数值型的)

transition-property:要执行过渡的属性。多个属性间用逗号隔开,所有属性都需要过渡,则使用all。

transition-duration:执行过渡效果的持续时间

  • 时间单位:s 和 ms

transition-timing-function:过渡的时序函数。实际上是一个贝塞尔曲线。

  • 指定过渡动画的执行方式
  • 可选值:
    • ease:默认值。慢速开始,先加速再减速
    • linear:迅速运动
    • ease-in:加速运动
    • ease-out:减速运动
    • ease-in-out:先加速,再减速
    • 通过cubic-bezier(0,0,0,0)来指定贝塞尔曲线
    • 通过steps(步数,shart/end)分步执行过渡效果,中间会有停顿。end表示transition-duration时间后变化,start表示transition-duration时间前变化

transition-delay:过渡效果的延迟,等待一段时间后再执行过渡

布局属性

justify-content

用于描述弹性盒子容器的对齐方式,如何分配顺着弹性容器主轴 (或者网格行轴) 的元素之间及其周围的空间。

/* Positional alignment */
justify-content: center;     /* 居中排列 */
justify-content: start;      /* Pack items from the start */
justify-content: end;        /* Pack items from the end */
justify-content: flex-start; /* 从行首起始位置开始排列 */
justify-content: flex-end;   /* 从行尾位置开始排列 */
justify-content: left;       /* Pack items from the left */
justify-content: right;      /* Pack items from the right */

/* Baseline alignment */
justify-content: baseline;
justify-content: first baseline;
justify-content: last baseline;

/* Distributed alignment */
justify-content: space-between;  /* 均匀排列每个元素
                                   首个元素放置于起点,末尾元素放置于终点 */
justify-content: space-around;  /* 均匀排列每个元素
                                   每个元素周围分配相同的空间 */
justify-content: space-evenly;  /* 均匀排列每个元素
                                   每个元素之间的间隔相等 */
justify-content: stretch;       /* 均匀排列每个元素
                                   'auto'-sized 的元素会被拉伸以适应容器的大小 */

/* Overflow alignment */
justify-content: safe center;
justify-content: unsafe center;

/* Global values */
justify-content: inherit;
justify-content: initial;
justify-content: unset;

注意: 此属性不能用于沿垂直轴描述项目或容器。为了垂直对齐项目,我们可以使用align-items 属性

input框如何去掉边框

使用border:noneoutline:none

outline属性:

绘制元素周围的一条线,不占用空间,不影响元素的尺寸和位置。随元素的focue(获得焦点)而自动出现,随blur(失去焦点)而自动消失

        input {
            border: none;
            /* outline属性:外部边框,只有在获得焦点以后才出现的 */
            outline: none;
        }