前端:CSS

news2024/11/15 21:58:42

CSS基本语法规则:选择器+若干属性声明

style标签:可以放到代码的任意位置处,head/body中都可以

三种写CSS的方式:

1、内部样式:使用style标签,直接把CSS写到html文件中。此时的style标签可以放到任何位置,一般建议放到head标签里。【下面的p就是选择器,{}里面的是属性键值对】

   <style>
        p{
            color:red;
            font-size: 30px;
        }
   </style>

2、内联样式:使用style属性,针对指定的元素设置样式。此时不需要写选择器,直接写属性键值对,这个时候样式只针对当前元素生效【内联样式的优先级>内部样式】

 <p style="color:green;font-size: 30px;">段落</p>

3、外部样式:把CSS代码单独作为一个.css文件,通过link属性,让html引入该css文件

实际开发中,外部样式用的最多

p{
    color:blue;
    font-size: 100px;
}
<link rel="stylesheet" href="style.css">

CSS选择器:

1、标签选择器:在 { 前面写标签名字。此时意味着会选中当前页面中所有的指定标签。

2、类选择器: 更好的选择。可以创建CSS类,手动指定哪些元素应用这个类。

CSS的所谓的“类”就是把一组CSS属性起了个名字,方面别的地方引用。

【定义类时,需要使用 . 开头】【引用这个类时,通过class属性 = “类名” 即可,不需要带 . 号】

   <style>
        /* 此处定义了一个CSS类,名字叫one */
        /* CSS类名定义的时候需要使用 . 开头*/
        .one{
            color: red;
        }
        .two{
            color:blue;
        }
        .three{
            color: yellow;
        }
        .four{
            font-size: 30px;
        }
   </style>
    <!-- 引用时直接使用类名 -->
   <p class="one four">
    这是第一个段落
   </p>
   <p class="two">
    这是第二个段落
   </p>
   <p class="three">
    这是第三个段落
   </p>

 3、ID选择器:html页面中的每个元素,都是可以设置一个唯一的id作为元素的身份标识的。

给元素安排id之后,就可以通过id来选中对应的元素了。注意,一个页面内,只能有唯一的id。

   <style>
    #first{
        color: black;
        font-size: 50px;
    }
   </style>

   <div id="first">
    这是一个div
   </div>
   <div id="second">
    这是另一个div
   </div>

 4、后代选择器:把多个简单的基础选择器组合一下(可以是标签、类、id 选择器的任意组合)

下面的含义就是:先找到页面中所有的ul,然后在这些ul里再找所有的li

注意:li只要是ul的后代即可,不一定非得是“子元素” ,子元素,子孙元素等等都行。

   <style>
    ul li{
        color: red;
    }
   </style>
   <ol>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
   </ol>
   <ul>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
   </ul>
   <style>
    .a li{
        color: red;
    }
   </style>
   <ol>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
   </ol>
   <ul class="a">
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
   </ul>

 5、子选择器:也是把多个简单的基础选择器组合(标签、类、id选择器任意组合)

但它只找匹配的子元素,不找孙子元素之类的

选择器1>选择器2{

     属性......

}

 6、并集选择器:多组选择器,用了同样的样式

选择器1,选择器2{

      属性......

}

7、伪类选择器(符合选择器的特殊用法)

前面的选择器是选中某个元素,伪类选择器是选中某个元素的某个特定的状态

:hover 鼠标悬停时候的状态

:active 鼠标按下时候的状态

   <style>
    .c:hover{
        color: red;
    }
    .c:active{
        font-size: 50px;
    }
   </style>
   <div class="c">哈哈哈哈</div>

 常用属性:

元素:开始标签,结束标签和内容,就是一个完整的元素

width:设置元素宽度,即定义元素内容区的宽度

height:设置元素高度,即定义元素内容区的高度

一、字体属性

1、font-family  当前使用哪种字体显示      这个属性指定的字体,必须是系统已经安装了的

2、font-size     设置字体大小

3、font-weight  设置字体粗细                   有两种典型的设置风格:1、使用单词 2、使用数字

4、 font-style   设置文字倾斜

  

一个div就可以打天下,搭配CSS就可以实现前面各种标签的效果(个别 表单标签 实现不了)

二、文本属性

1、color   文本颜色

前端中,给RGB各分配了一个字节,每个字节的范围:0-255/00-FF(计算机里的典型表示)

通过这三个分量不同比例的搭配,就可以调和出不同的颜色

(1)使用十进制

 color: rgb(0,255, 0);

(2)使用十六机制 

 color: #00ff00;

(3)直接使用表示颜色的单词(一般用的不多) 

2、text-align      文本对齐(靠左left,靠右right,居中center)

3、text-decoration    文本装饰(下划线underline、上划线overline、删除线line-through、去掉下划线啥的 none)

4、text-indent   文本缩进

如每个段落首行缩进2个文字

 text-indent: 2em;

px:像素,相当于是一个“绝对”的量

em:是以文字尺寸为基础来设置的,是一个“相对”的量

缩进可以是负的,表示向左缩进

5、line-height    行高

行高 = 文字高度 + 行间距,通过行高确定行间距

三、背景属性

1、background-color  背景颜色

2、background-image: url(图片路径);   背景图片   默认是平铺的

3、background-repeat: no-repeat;    背景不平铺

4、background-position: center center;    设置图片的位置(top,bottom,center,left,right)

还可以使用坐标去设置具体位置,行坐标和纵坐标,坐标系是在左上角

如:background-position:50px,30px;    

4、background-size   设置背景图的尺寸

宽和高    background-size: 1000px 500px;

contain:把图像图像扩展至最大尺寸,在图像完全存在的基础上最大限度适应内容区域

background-size: contain; 

cover:把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。

background-size: cover; 

四、圆角矩形

 border-radius: 10px; 设置圆角矩形

生成圆形:让 border-radius 的值为正方形高度的一半

生成圆角矩形:让 border-radius 的值为矩形高度的一半

五、元素的显示模式

任何一个html标签的显示模式(块级/行内)都是可以设置的,通过display来设置

display : block;   设置成块级元素

display : inline;   设置成行内元素

块级元素和行内元素的区别:

1、块级元素会独占一行,行内元素不独占一行。

2、块级元素的高度,宽度,内外边距都是可以设置的。行内元素的高度,宽度,行高设置无效。内边距有效,外边距时有时无。

3、块级元素默认宽度和父元素一样宽。行内元素默认宽度和里面的内容一样宽。

六、CSS盒子模型

描述了html元素的基本布局规则【内容  内边距  边框  外边距 】

设置边框要设置三个方面:边框的粗细,边框的颜色,边框的风格(实线solid,虚线dashed,其他的线)

1、border 属性:直接设置了四个方向    

  border: 5px black solid;

border-left

border-right

border-top

border-bottom

这些可以分别设置一个方向

边框默认情况下会撑大盒子,width 和 height 表示的是 内容部分 的尺寸

使用 box-sizing: border-box; 该属性,边框将不会撑大盒子。

2、padding  内边距:设置的是内容和边框之间的距离

padding:10px;                              表示四个方向都是10px

padding:10px 20px;                     表示上下边距是10px,左右边距是20px

padding:10px 20px 30px 40px;    表示上右下左,顺时针    

分别设置

padding-left

padding-right

padding-top

padding-bottom

3、margin 外边距:设置的是元素和元素之间的距离

margin 的写法和 padding 的写法大差不差。

margin 特殊用法:把margin-left 和 margin-right  设置成auto(让浏览器自动调节),此时该元素就能够在父元素内部水平居中。实现了元素的水平居中。

七、弹性布局

用来实现页面布局的:即控制某个指定元素放到指定位置上

解决“水平方向排列”问题。

width:100%; 相对父元素它的宽度是多少。

属性:

1、开始弹性布局

给要水平排列的元素的父元素设置  display:flex;

此时,弹性容器里面的元素,不再是“块级”或“行内”元素了,而是“弹性元素”,遵守弹性布局,可以设置尺寸和边距。

2、设置这些元素的的水平方向的排列方式

 justify-content: flex-start; 靠左排列

 justify-content: flex-end; 靠右排列

 justify-content:center;     居中排列

 justify-content:space-around; 等间距排列,两端还有间距

 justify-content:space-between;等间距排列

3、设置元素垂直方向的排列

align-items: flex-end;

align-items: flex-start;

align-items: center;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BMI160 BOSCH/博世 六轴 加速度 陀螺仪 传感器

BMI160 6轴惯性运动传感器&#xff0c;采用MEMS传感器封装&#xff0c;将16位3轴加速度计和超低功耗3轴陀螺仪集成在一起。当加速度计和陀螺仪在全速模式下运行时&#xff0c;耗电典型值低至950A&#xff0c;仅为市场上同类产品耗电量的50%或者更低。 Bosch BMI160专为智能手机…

7 款最好的免费 PDF 转 Word 转换器工具

将 PDF 到 Word 转换软件下载到您的计算机将节省您一遍又一遍地访问浏览器的时间。在执行转换任务时&#xff0c;您也不会受到文件大小或数量的限制。现在阅读这篇文章&#xff0c;了解可免费下载的 7 种最佳 PDF 转 Word 转换器软件&#xff0c;以及在转换器中寻找什么。 哪个…

浅谈React Fiber工作原理

静态数据结构 每个 Fiber 节点对应一个组件&#xff0c;保存了该组件的类型&#xff0c;对应的 DOM 节点的对应信息。 FiberRootNode 有且仅有一个&#xff0c;而 rootFiber 可以有多个&#xff0c;因为我们可以挂载多个应用&#xff08;也就是多次调用ReactDOM.render&#…

注解@EnableAutoConfiguration

上一节已经看了Import注解&#xff0c;而EnableAutoConfiguration注解中就引用了此注解 AutoConfigurationPackage Import(AutoConfigurationImportSelector.class) public interface EnableAutoConfiguration { 所以接下来可以看一下AutoConfigurationImportSelector类&…

Educational Codeforces Round 144 (Rated for Div. 2) E

人菜瘾大还是忍不住打了这场比赛&#xff0c;b卡了半小时&#xff0c;甚至还写了一个最长公共子序列然后喜提wa2&#xff0c;但是c,d还是过的比较快&#xff0c;最后排名rk175有惊无险的上分了&#xff0c;e题赛时一眼想出思路&#xff0c;但是我的实现能力有限&#xff0c;没能…

谷歌关键词排名上首页需要多久【2023年实战数据】

本文主要分享2023年实战得出谷歌做新站关键词排名到首页所需要的时间周期测试。 本文由光算创作&#xff0c;有可能会被剽窃和修改&#xff0c;我们佛系对待这种行为吧。 谷歌关键词排名上首页需要多久&#xff1f; 答案是&#xff1a;90天左右。 具体以下图实战数据为主 关…

【总结】记一次log4j包冲突引发es类找不到的问题

问题现象 某天&#xff0c;某个应用搞新的迭代&#xff0c;突然报ElasticSearch 7.17.5 相关操作都失败了&#xff0c;且问题是必现&#xff0c;本地启动也能稳定复现。组内小伙伴按照es jar包冲突排查了一番&#xff0c;无果&#xff0c;于是问题转交给我来排查。 错误信息是…

计算机网络(第三版) 胡亮 第四章知识点总结

计算机网络&#xff08;第三版&#xff09; 胡亮 第四章知识点总结 学习指导 1、掌握询问/确认、轮询/选择模式的使用场合与工作方式 2、掌握停止等待协议的流量控制和差错控制&#xff0c;会进行相关定量的计算。 3、掌握滑动窗口协议中的回退N和选择控制的工作方式 4、了…

重拾JS基础:掌握闭包和作用域链的秘密,让你代码更加简洁优雅

在 JavaScript 中&#xff0c;闭包和作用域链是两个重要的概念&#xff0c;对于理解 JavaScript 中函数的工作方式和实现高级功能非常关键。本文将介绍闭包和作用域链的概念、如何创建和使用闭包&#xff0c;以及如何避免常见的陷阱和错误。 引言 JavaScript 是一门具有函数式编…

基于神经网络的滑模鲁棒控制

目录 前言 1.双关节机械手臂模型 2.神经网络自适应律设计 3. 滑模控制律设计 4. 仿真分析 4.1 仿真模型 4.2 仿真结果 4.3 小结 5 学习问题 前言 上一篇文章我介绍了神经网络补偿的机理&#xff0c;只不过控制律不同&#xff0c;本章我们结合滑模理论设计控制律&#…

不同规划企业对CRM系统的性价比要求

很多企业在选型时关心CRM客户管理系统的价格&#xff0c;有人对CRM的价格完全没有概念&#xff0c;也有的人先问价格再看其他。CRM价格在系统选型中到底有多重要&#xff1f;如何评估CRM价格和价值之间的关系&#xff1f;企业规模对CRM系统价格有什么影响&#xff1f; CRM软件…

Android系统10 RK3399 init进程启动(四十八) init第一阶段分析

配套系列教学视频链接&#xff1a;安卓系列教程之ROM系统开发-百问100ask说明系统&#xff1a;Android10.0设备&#xff1a; FireFly RK3399 &#xff08;ROC-RK3399-PC-PLUS&#xff09;前言本文通过代码梳理的方式&#xff0c;给大家介绍Android init祖先进程第一阶段的工作流…

MAC地址申请MAC码购买流程MAC地址哪里申请MAC地址作用

众所周知mac地址号段全世界都是由美国一家政府机构IEEE进行分配的&#xff0c;也是由他们进行管理的。我站具有丰富的MAC地址申请经验&#xff0c;可以帮助客户有效的快速高效的完成MAC地址的申请。关于mac地址购买种类、范围、方式、费用详情如下。 一、服务项目&#xff1a;…

vue3、vite、pinia 快速入门

准备 开发工具及插件IDE:vscode,WebStorm插件&#xff1a;Auto Close Tag、Auto Rename Tag、Live Server通过“&#xff01;”快速生成html模板正式学习安装vue通过CDN的方式导入vue<script src"" target"_blank">https://unpkg.com/vue3/dist/vue.…

mysql数据库之索引分类

分类含义特点关键字主键索引针对于表中主键创建的索引默认自动创建&#xff0c;只能有一个primary唯一索引避免同一个表中某数据列中的值重复可以有多个unique常规索引快速定位特定数据可以有多个全文索引全文索引查找的是文本中的关键词&#xff0c;而不是比较索引中的值可以有…

01 Android基础--广播

01 Android基础--广播什么是广播&#xff1f;广播的分类本地广播LocalBroadcastManager什么是广播&#xff1f; 传输信息的机制。 主要记住三个要素&#xff1a;1.广播(Broadcast) - 用于发送广播; 2.广播接收器(BroadcastReceiver) - 用于接收广播&#xff1b;3.意图内容(Inte…

【活学活用掌握trap命令】

trap 命令用于指定在接收到信号后将要采取的动作&#xff0c;常见的用途是在脚本程序被中断时完成清理工作。当 shell 接收到 sigspec 指定的信号时&#xff0c; arg 参数(通常是执行命令)会被读取&#xff0c;并被执行。 1. 命令介绍 开始掌握基本的使用方式和方法 [1] 语法…

云计算简介

本文为copy他人编写的文档&#xff0c;由于不确认作者名称&#xff0c;故无法标记来源&#xff08;实际来源是群pdf文档&#xff09;&#xff0c;暂时发文为原创&#xff0c;因为无法贴出原文链接&#xff01; 云原生的前世今生 随着公有云和私有云的广泛部署&#xff0c;云计…

1.1 Linux开发环境搭建

1. Ubuntu服务器安装ssh工具&#xff0c;然后使用xshell连接 查看Ubuntu服务器的IP地址时&#xff0c;如果ifconfig失败&#xff0c;需要先安装一下net工具 sudo apt install openssh-server sudo apt install net-tools2. 打开vscode&#xff0c;安装Remote Development拓展…

操作系统——11.线程概念和多线程模型

这篇文章我们来讲一下操作系统中的线程概念和多线程模型 目录 1.概述 2.线程 2.1问题提出 2.2线程概念 2.3带来的变化 2.4线程的属性 2.5线程的实现方式 2.5.1用户级线程 2.5.2内核级线程 2.5.3相互组合 2.6多线程模型 2.6.1多对一模型 2.6.2一对一模型 2.6.3多…