CSS样式

css概述

层叠样式表(cascading style sheet)

层叠是指==将多个样式施加在一个元素(标签)上==

作用:

  • 美化页面
  • 将html代码与样式代码分离

好处:

  • 功能强大
  • 分离代码,降低耦合性,提高重用性,提高维护性,提高开发效率

使用方法

1、在HTML标签的style属性书写,这个属性的值,是由一些小的键值对构成

12345
  • 缺点:
  • 有可能出现代码冗余
  • 标签属性多,耦合高,不便于维护

2、在页面head标签中添加style标签


    div {
        color:yellow;
        font-size:500px;
    }

3、在head标签中添加link标签引入css文件


使用时机:

  • 方式一:由于样式设置是写在标签内的,它只能给这个一个标签施加样式,当我们只需要给一个标签施加样式的时候,就可以选择使用第一种方式
  • 方式二:由于样式是写在style 标签,在style标签里面写的是选择器,所以它可以给多个标签施加相同的样式当我们需要给一个页面中的多个标签施加相同的样式的时候,我们就可以选择使用第二种
  • 方式三:由于该方式,是引入了外来的css文件,说明引入css文件,就可以使用该样式了,当我们需要给多个页面中的多个标签施加相同的样式的时候,我们就可以选择使用第三种
  • ==推荐使用第二种和第三种==

盒子模型

CSS样式

对页面进行布局(div + css)

padding:设置内补丁

  • padding:不同参数代表位置
  • 一个参数:上下左右
  • 两个参数:上下 左右
  • 三个参数:上 左右 下
  • 四个参数:上 右 下 左

默认情况,如果我们设置内补丁,会影响到整个盒子的大小,那我们需要设置一个属性 box-sizing: border-box

margin:设置外补丁

  • margin:不同参数代表位置
  • 一个参数:上下左右
  • 两个参数:上下 左右
  • 三个参数:上 左右 下
  • 四个参数:上 右 下 左

float浮动

会打破默认的流式布局,一般建议,如果一个元素进行了浮动,其余的和该元素同级别的也进行浮动。

  • left:从左浮动
  • right:从右浮动

position定位

  • 静态定位(static):默认值,没有定位,元素不会受到top,bottom,left,right影响
  • 固定定位(fixed):元素相对于浏览器窗口是固定位置
  • 相对定位(relative):相对定位元素的定位是相对其原来位置的偏移量
  • 绝对定位(absolute):绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的相对于父元素也需要使用绝对定位
  • z-index:显示优先级,数值越大,越靠上
  • opacity:透明度,0完全透明,1完全不透明

属性

尺寸

支持百分比或者像素

  • width:宽度
  • height:高度
  • display:可见性

文本(字体)

  • color:字体颜色
  • font-size:字体大小
  • font-family:字体样式
  • font-weight:字体粗细
  • font-style:倾斜(italic)
  • text-align:水平对齐方式
  • line-height:行高,文字垂直位置的处理
  • text-shadow:x轴偏移量 y轴的偏移量 羽化效果 阴影颜色:文本阴影
  • text-decoration:文本下划线

背景

  • background-color:背景颜色
  • background-image:url(背景图片)
  • background-repeat:是否平铺图片(no-repeat、repeat-x、repeat-y)
  • background-position:背景图片位置(水平偏移量 垂直偏移量)
  • backgroud-image:linear-gradient(to 方向,开始颜色,结束颜色):渐变背景色
  • box-shadow:x轴偏移量 y轴的偏移量 羽化效果 阴影颜色:盒子阴影
  • background-size:背景图片大小

边框

  • border-left、right、top、bottom:宽度 颜色 样式
  • border-color:颜色
  • border-width:粗细
  • border-style:样式
  • border-radius:边框圆角
  • border-collapse:边框间距合并
  • border-spacing:属性指定相邻单元格边框之间的距离
  • outline:点击轮廓
  • box-sizing:border-box:设置相邻边框覆盖

选择器

可以帮助我们快速定位到某一个或者某几个标签的,就称为选择器

格式:

选择器 {
    小键值对;
    ... ...

 }

元素选择器

标签名{
    样式属性
    key:value;
}

ID选择器

#ID{
    样式属性
    key:value;
}

类选择器

.类名{
    样式属性
    key:value;
}

优先级:id选择器 > 类选择器 > 元素选择器

组合选择器

选择器,选择器,选择器{
    样式属性
    key:value;
}

后代选择器

父标签 后代标签 {
  样式属性
  key:value;
}

子元素选择器

父标签>子标签 {
  样式属性
  key:value;
}

兄弟选择器

/*同等级的,标签1后方的*/
标签1~标签2{
   样式属性
   key:value;
}

相邻选择器

/*同等级的,标签1后方的第一个标签*/
标签1+标签2{
  样式属性
  key:value;
}

伪类选择器

标签:link{
    标签未被访问前的样式属性
    key:value;
}
标签:hover{
    鼠标悬停的标签样式属性
    key:value;
}
标签:visited{
    标签已被访问后的样式属性
    key:value;
}
标签:active{
    鼠标点击标签未释放的样式属性
    key:value;
}
标签:last-child{
    最后一个该标签的子标签样式属性
    key:value;
}
标签:first-child{
    第一个该标签的子标签样式属性
    key:value;
}
标签:nth-child(n){
    该标签的父标签的第n个该类子标签的样式属性
    key:value;
}

属性选择器

标签[key='value']{
    样式属性
    key:value;
}
标签[key*='a']{
    属性key的值包含a的标签的样式属性
    key:value;
}
标签[key^='a']{
    属性key的值以a开头的标签的样式属性
    key:value;
}
标签[key$='a']{
    属性key的值以a结尾的标签的样式属性
    key:value;
}
标签[key~='hello']{
    属性key的值包含单词hello的标签的样式属性
    key:value;
}

2D\3D转换

2D

/*从其当前位置移动元素*/
transform: translate(横向, 纵向);
/*旋转一定的角度*/
transform:rotate(角度deg);
/*增大或减小元素大小*/
transform:scale(宽度增大倍数,高度增大倍数);

3D

/*元素绕其 X 轴旋转给定角度*/
transform: rotateX(角度deg);
/*元素绕其 Y 轴旋转给定角度*/
transform: rotateY(角度deg);
/*元素绕其 Z 轴旋转给定角度*/
transform: rotateZ(角度deg);

动画

@keyframes 动画名
{
    from{开始样式}
    to{结束样式}
}
div{
    animation:动画名 时间;
}

动画属性

  • animation-name:规定 @keyframes 动画的名称。
  • animation-play-state:规定动画是运行还是暂停。
  • animation-duration:定义需要多长时间才能完成动画
  • animation-delay:规定动画开始的延迟时间
  • animation-iteration-count:动画应运行的次数,infinite无限
  • animation-direction:属性指定是向前播放、向后播放还是交替播放动画
  • normal – 动画正常播放(向前)。默认值
  • reverse – 动画以反方向播放(向后)
  • alternate – 动画先向前播放,然后向后
  • alternate-reverse – 动画先向后播放,然后向前
  • animation-timing-function:规定动画的速度曲线

Original: https://www.cnblogs.com/am0304/p/16486803.html
Author: 超甜的小布丁
Title: CSS样式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/620033/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • leetcode 513. Find Bottom Left Tree Value 找树左下角的值 (简单)

    给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root = [2,1,3]输出: 1 示例 2…

    数据库 2023年6月16日
    097
  • JavaScript 获取 Url 上的参数(QueryString)值

    获取URL里面传的参数,在Js中不能像后台一样使用Request.QueryString来获取URL里面参数,下面介绍两种方式用来获取参数 方式一:使用split分隔来获取,这种方…

    数据库 2023年6月9日
    086
  • SQL的函数

    MySQL常用的日期函数函数 功能 curdate() 返回当前日期 curtime() 返回当前时间 now() 返回当前日期和时间 year() 获取指定date的年份 mon…

    数据库 2023年6月16日
    0116
  • SpringBoot自动配置

    @SpringBootApplication SpringBoot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来…

    数据库 2023年6月16日
    0100
  • Redis-数据结构

    Redis key-value结构组织 首先,Redis使用了一个全局哈希表来保存所有的键值对。这个全局哈希表,也就是一个存放哈希桶(entry)的数组。Redis可以用哈希算法算…

    数据库 2023年6月11日
    091
  • Javaweb-文件上传和邮件发送

    1.文件上传 新建空项目 准备工作 在maven仓库里下载commons io 和 commons fileupload两个jar包 实用类介绍 文件上传注意事项 为保证服务器安全…

    数据库 2023年6月16日
    091
  • MySQL索引分类及相关概念辨析

    本文链接:https://www.cnblogs.com/ibigboy/p/16198243.html 之前的一篇《MySQL索引底层数据结构及原理深入分析》很受读者欢迎,成功地…

    数据库 2023年6月11日
    0111
  • java中如何将函数作为参数传递呢?

    函数简介: 函数(function)的定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发,而近代定义是从集合、映射…

    数据库 2023年6月11日
    099
  • MySQL函数学习(一)—–字符串函数

    注:笔记旨在记录 一、MySQL 字符串函数 \ 函 数 名 称 作 用 完 成 1 LENGTH 计算字符串长度 勾 2 CONCAT 字符串拼接,返回结果为连接参数产生的字符串…

    数据库 2023年6月16日
    081
  • MySQL事务

    事务用于保证数据的一致性,由一组相关的dml语句组成,该组的dml语句要么全部成功后提交,要么全部失败。进行一个事物操作时,也可以防止其它用户修改表的数据。 举个例子:转账这个操作…

    数据库 2023年6月16日
    092
  • MySQL学习笔记(七)–Index Merge

    什么是Index Merge The Index Merge access method retrieves rows with multiple range scans and …

    数据库 2023年6月16日
    088
  • [Mysql]Ubuntu如何安装Mysql+启用远程连接[完整版]

    嗯。以下是我踩了好几个小时的所有坑总结出来的血泪史。我希望我能帮你少踩几个坑。正常情况下,一步一步地,不会有任何问题。 [En] Yeah. The following is th…

    数据库 2023年5月24日
    0108
  • python logging模块详解

    日志 日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次…

    数据库 2023年6月11日
    0105
  • Redis SCAN命令

    获取指定前缀的key 需求描述: Redis中有大量以xxx开头的key,在不使用keys命令的情况下,如何快速获取这些前缀的key 解决方案: redis自带的scan命令可以解…

    数据库 2023年6月14日
    090
  • 未婚妻晚安之后依然在线,于是我用20行代码写了个小工具

    最近发现未婚妻一到晚上总是很忙的样子,每晚匆匆忙忙道过晚安就不说话了。 可是,QQ头像却会偶尔亮起来,我非常担心,是不是账号被盗了呢?然后,就想帮未婚妻排查一下,于是就用pytho…

    数据库 2023年6月14日
    084
  • Spring常见问题

    Spring常见问题 问渠那得清如许?为有源头活水来。 Spring 是个 java 企业级应用的开源开发框架。Spring 主要用来开发 Java 应用,但是有些扩展是针对构建 …

    数据库 2023年6月14日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球