首页 > 其他分享 >CSS3学习随笔

CSS3学习随笔

时间:2022-10-29 15:11:11浏览次数:53  
标签:CSS3 flex column 元素 学习 grid 随笔 border 选择器

CSS3

css3是css2的升级,相比新增主要内容css选择器,和css属性

新增内容:语言模块,背景,列表,边框,文本,盒子特效,多列

目录

渐进增强和优雅降级(面试题)

渐进增强

  • 针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验

优雅降级

  • 最初从高版本开始考虑,向低版本做向下兼容。与渐进增强相反

选择器

属性选择器

  • elemt[attr]{}匹配有该属性的元素
    • div[class]{color:red;}
    • div[id]{color:red;}
  • elemt[attr=“value”]{}匹配===属性和属性值的元素(属性值引号可省略)
    • div[id="box"]{color:red;}
  • elemt[attr~=“value”]{}匹配有该属性和属性值的元素(属性值引号可省略)(完整值)
  • 补充:
    • elemt[attr^=“value”]{} 匹配属性,且值以value开始(包含值的部分)
    • elemt[attr$=“value”]{} 匹配属性,且值以value结尾(包含值的部分)
    • elemt[attr*=“value”]{} 匹配属性,且值包含value。(包含值的部分)
    • elemt[attr|=“value”]{}匹配属性,包含value的元素(完整值)

伪类选择器

结构伪类选择器(只能为单冒号)
  • elemt:nth-child(n){} 匹配所有元素的第n个元素
    • 需要匹配偶数时 括号n值为2n/odd 奇数2n+1/even
    • 注意:匹配的时候,兄弟姐妹都会参与排序计算(如果两个div,中间一个p,用div:nth-child(2){color:red;}不会生效,因为此时选中的2为p,所以不生效)
  • elemt:nth-of-type(n){}只匹配同类型元素亲兄弟
  • elemt:first-child{} 匹配元素的第一个(其他元素参与计算)
  • elemt:last-child{} 匹配元素的最一个(其他元素参与计算)
  • elemt:only-child{} 匹配只有一个子元素的元素
  • html:root{} 匹配文档的根元素
    • 也可以这样书写 :root{color:red;}
  • elemt:empty{} 匹配空(没有子元素或文字)的元素
否定伪类选择器
  • elemt:not(选择器){} 选中 除选择器外 的其他元素
    • 原来选择器有冒号,书写时仍然不能丢弃
      • div:not([class="box"]){}
      • div:not(:nth-child(1)){}
动态伪类选择器
  • a:link{} 点击前状态 默认为蓝色(a标签特有)
  • a:visited{}点击后
  • a:hover{} 鼠标移入
  • a:active{} 激活状态(鼠标按下到弹起之间的状态)
  • input:focus{} 获取焦点后的状态
ui状态伪类选择器
  • elemt:enabled{} 可用的状态下

  • elemt:disabled{} 禁用状态下

  • elemt:checked{} 选中状态下

  • 自定义单选复选框

     <style>
            * {
                margin: 0;
                padding: 0;
            }
            form{
                margin: 100px 0 0 300px;
            }
            input{
                -webkit-appearance:none;
                width: 24px;
                height: 24px;
                border: 1px solid gray;
                border-radius: 50%;
                vertical-align: middle;
            }
    
            /* 自定义单选框 */
            input:checked{
               border: none;
                background:url(../img/gou.png) no-repeat center/24px 24px;
    
            }
            
            /* 自定义内部圆圈 */
            /* input:checked:after{
                content: "";
                display: block;
                width: 15px;
                height: 15px;
                background-color: orange;
                border-radius: 50%;
                margin-top: 4px;
                margin-left: 4px;
            } */
        </style>
        <body>
        <form action="">
            <input type="radio" id="a"> <label for="a">篮球</label>
        </form>
    </body>
    
目标伪类选择器
  • elemt:target{} 搭配锚点使用

补充:

  • elemt::selection{} 文本选中时状态时设置改变背景颜色和文本颜色(!双冒号)

文字阴影text-shadow

  • text-shadow: 水平偏移 垂直偏移 模糊距离 阴影的颜色;
    • text-shadow:5px 5px 5px red;
    • 水平和垂直,值越大,越往右移,可给负值
    • 模糊距离,不可给负值
    • 多个阴影用逗号隔开
      • text-shadow: 5px 5px 5px red,-5px -5px 5px green;

文本换行

  • word-wrap:;
    • normal 只在允许的断字点换行(浏览器保持默认处理)
    • break-word 属性允许长单词或 URL 地址换行到下一行
  • word-break
    • break-all 它断句的方式非常粗暴,它不会尝试把长单词挪到下一行,而是直接进行单词内的断句
    • keep-all 文本不会换行,只能在半角空格或连字符处换行

盒子

盒子阴影 box-shadow

  • box-shadow: 水平偏移 垂直偏移 模糊距离 阴影外增加大小 阴影的颜色 inset;
    • inset 内阴影
    • 多个阴影用逗号隔开
    • 部分参数可以省略

边框圆角 boder-radius

  • 以盒子最短的边为准,超过50%后将不会变化(盒子为正方形会变成整圆,长方形会变成操场形状)
  • 取值
    • 没有/
      • 一个值 四个角的水平垂直偏移相同
      • 10px 20px 左上和右下水平垂直均为10px;右上和左下水平垂直均为20px
      • 10px 20px 30px 10左上 20右上,左下 30右下
      • 四个值 左上 右上 右下 左下
    • 有/ x/y
      • 10px/20px 四个方向 水平偏移10px 垂直20px 连接形参圆滑的线
      • 10px 20px/20px 10px左上水平 20px右上和左下水平
      • 10px 20px 30px/20px
      • 10px 20px 30px 40px/40px 30px 20px 10px

字体模块

字体样式(.ttf .TTF):

  • css样式中 @font-face{font-family:"字体名字";src:url(外部引入字体文件);}
  • 使用:p{font-family:”字体名字“;可以继续设置文字大小}

渐变

(渐变会被解析为图片,所以属性要写成background-image:

标签:CSS3,flex,column,元素,学习,grid,随笔,border,选择器
From: https://www.cnblogs.com/SenorCoconut/p/16838770.html

相关文章

  • MySQL学习笔记(sql语句为主)
    MySQL学习笔记MySQL实战应用根据老杜mysql的课程内容整理的学习笔记命令行基本操作登录mysql(cmd)://显示密码的形式mysql-uroot-pabc123//隐藏密码的形式mysql-......
  • golang学习之路1-环境安装及Helloword
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@目录Golang学习之路前言一、安装环境1.Golang安装2.GoLand安装二、第一个go程序HelloWord三、go命令......
  • golang学习之路2-基础认识(上)
    @目录前言一、变量定义1.变量2.数据类型二、自增自减三、指针1.使用指针&及*2.空指针3.指针完整代码四、不支持语法1.自增自减--i及++i2.不支持内存地址(指针)加减3.......
  • java学习 2022年10月29日13:26:28
    packagecn.tedu.type1;publicclassForDemo{publicstaticvoidmain(String[]args){outer:for(intj=1;j<10;j++){for(inti=0;i......
  • 2022-2023-1 20221322《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第九周作业......
  • golang 学习入门项目(超适合新手入门,新手进阶)
    过年的疫情,让我有了时间整理自己的博客。这篇是关于如何学习golang这门语言的。实例代码一分享到github点击获取源码 ​​github学习golang​​本项目是个gogin框架写的......
  • php学习笔记二:第一个php程序 hello world!
    第一个php程序helloworld!前提条件:已经安装xampp和phpstorm xampp安装到了D:\xampp1打开phpstorm2新建项目保存项目到 D:\WorkTest\Php3添加index.php文件4......
  • php学习笔记一:开发环境选择
    1.开发工具使用 PhpStorm  对比过PhpStorm、zendstudio、eclipse和vs.php后还是选择了 PhpStorm,相关优缺点可以网上找找。2.部署工具使用xampp3.帮助文档​​http......
  • 【Vue2.0学习】—路由的两种工作模式(六十六)
    【Vue2.0学习】—路由的两种工作模式(六十六)对于一个url来说,什么是hash值?#以及后面的内容就是hash值hash值不会包含在HTTP请求中,即:hash值不会带给服务器hash模式:地址中永远带......
  • 【Vue2.0学习】—过渡与动画(六十三)
    【Vue2.0学习】—过渡与动画(六十三)Vue在插入、更新或者移除DOM时,提供多种不同方式的应用过渡效果。包括以下工具:在CSS过渡和动画中自动应用class可以配合使用第三方C......