1-前端基本知识-CSS

1-前端基本知识-CSS

文章目录

  • 1-前端基本知识-CSS
  • 总体概述
  • 什么是CSS?
  • CSS引入方式
    • 行内式
    • 内嵌式
    • 连接式/外部样式表
  • CSS选择器
    • 元素选择器
    • id选择器
    • class选择器(使用较广)
  • CSS浮动
  • CSS定位
    • 静态定位:static
    • 绝对定位:absolute
    • 相对定位:relative
  • CSS盒子模型
    • 盒子模型要素
    • 代码示例

总体概述

语言作用
HTML主要用于网页主体结构的搭建(页面元素和内容)
CSS主要用于页面的美化(页面元素的外观、位置、颜色、大小)
JavaScript主要用于页面元素的动态处理(交互效果)

什么是CSS?

层叠样式表(Cascading Style Sheets) ,能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力

  • 简单来说,美化页面

CSS引入方式

行内式

通过元素开始标签的style属性引入

<input type="button" value="按钮"style="display: block;width: 60px; height: 40px; background-color: rgb(140, 235, 100); color: white;border: 3px solid green;font-size: 22px;font-family: '隶书';line-height: 30px;border-radius: 5px;
"/> 
  • 缺点
    • html代码和css样式代码交织在一起,增加阅读难度和维护成本
    • css样式代码仅对当前元素有效,代码重复量高,复用度低

内嵌式

通过选择器确定样式的作用范围

  • 选择器的概念,下边介绍
<head><meta charset="UTF-8"><style>/* 通过选择器确定样式的作用范围 */input {display: block;width: 80px; height: 40px; background-color: rgb(140, 235, 100); color: white;border: 3px solid green;font-size: 22px;font-family: '隶书';line-height: 30px;border-radius: 5px;}</style>
</head>
<body><input type="button" value="按钮1"/> <input type="button" value="按钮2"/> <input type="button" value="按钮3"/> <input type="button" value="按钮4"/> 
</body>
  • 说明
    • 内嵌式样式需要在head标签中,通过一对style标签定义CSS样式
    • CSS样式的作用范围控制要依赖选择器
    • CSS的样式代码中注释的方式为 /* */
  • 缺点
    • 内嵌式虽然对样式代码做了抽取,但是CSS代码仍然在html文件中
    • 内嵌样式仅仅能作用于当前文件,代码复用度还是不够,不利于网站风格统一

连接式/外部样式表

在项目单独创建css样式文件,专门用于存放CSS样式代码

image-20231030160324226

  • 在head标签中,通过link标签引入外部CSS样式即可
<head><meta charset="UTF-8"><link href="css/buttons.css" rel="stylesheet" type="text/css"/>
</head>
<body><input type="button" value="按钮1"/> <input type="button" value="按钮2"/> <input type="button" value="按钮3"/> <input type="button" value="按钮4"/> 
</body>
  • 说明
    • CSS样式代码从html文件中剥离,利于代码的维护
    • CSS样式文件可以被多个不同的html引入,利于网站风格统一

CSS选择器

元素选择器

<head><meta charset="UTF-8"><style>input {display: block;width: 80px; height: 40px; background-color: rgb(140, 235, 100); color: white;border: 3px solid green;font-size: 22px;font-family: '隶书';line-height: 30px;border-radius: 5px;}</style>
</head>
<body><input type="button" value="按钮1"/> <input type="button" value="按钮2"/> <input type="button" value="按钮3"/> <input type="button" value="按钮4"/> <button>按钮5</button>
</body>
  • 说明
    • 根据标签名确定样式的作用范围
    • 语法为 元素名 {}
    • 样式只能作用到同名标签上,其他标签不可用
  • 缺点
    • 相同的标签未必需要相同的样式,会造成样式的作用范围太大

id选择器

<head><meta charset="UTF-8"><style>#btn1 {display: block;width: 80px; height: 40px; background-color: rgb(140, 235, 100); color: white;border: 3px solid green;font-size: 22px;font-family: '隶书';line-height: 30px;border-radius: 5px;}</style>
</head>
<body><input id="btn1" type="button" value="按钮1"/> <input id="btn2" type="button" value="按钮2"/> <input id="btn3" type="button" value="按钮3"/> <input id="btn4" type="button" value="按钮4"/> <button id="btn5">按钮5</button>
</body>
  • 说明
    • 根据元素id属性的值确定样式的作用范围
    • 语法为 #id值 {}
  • 缺点
    • id属性的值在页面上具有唯一性,所有id选择器也只能影响一个元素的样式
    • 因为id属性值不够灵活,所以使用该选择器的情况较少

class选择器(使用较广)

<head><meta charset="UTF-8"><style>.shapeClass {display: block;width: 80px; height: 40px; border-radius: 5px;}.colorClass{background-color: rgb(140, 235, 100); color: white;border: 3px solid green;}.fontClass {font-size: 22px;font-family: '隶书';line-height: 30px;}</style>
</head>
<body><input  class ="shapeClass colorClass fontClass"type="button" value="按钮1"/> <input  class ="shapeClass colorClass" type="button" value="按钮2"/> <input  class ="colorClass fontClass" type="button" value="按钮3"/> <input  class ="fontClass" type="button" value="按钮4"/> <button class="shapeClass colorClass fontClass" >按钮5</button>
</body>
  • 说明
    • 根据元素class属性的值确定样式的作用范围
    • 语法为 .class值 {}
    • class属性值可以有一个,也可以有多个,多个不同的标签也可以是使用相同的class值
  • 好处
    • 多个选择器的样式可以在同一个元素上进行叠加
    • 因为class选择器非常灵活,所以在CSS中,使用该选择器的情况较多

CSS浮动

浮动(Float)属性,使元素脱离文档流,按照指定的方向(左或右发生移动),直到它的外边缘碰到包含框或另一个浮动框的边框为止

  • 浮动设计的初衷为了解决文字环绕图片问题,浮动后一定不会将文字挡住,这是设计初衷
  • 文档流是文档中可显示对象在排列时所占用的位置/空间,而脱离文档流就是在页面中不占位置了

后续再深入了解

CSS定位

position属性指定了元素的定位类型,这个属性定义建立元素布局所用的定位机制

静态定位:static

  • 不设置的时候的默认值就是static,静态定位,没有定位
  • 元素出现在该出现的位置,块级元素垂直排列,行内元素水平排列
<head><meta charset="UTF-8"><style>.innerDiv{width: 100px;height: 100px;}.d1{background-color: rgb(166, 247, 46);position: static;}.d2{background-color: rgb(79, 230, 124);}.d3{background-color: rgb(26, 165, 208);}</style>
</head>
<body><div class="innerDiv d1">框1</div><div class="innerDiv d2">框2</div><div class="innerDiv d3">框3</div>
</body>

image-20231030162529630

绝对定位:absolute

  • 通过 top、left、right、bottom指定元素在页面上的固定位置
  • 定位后元素会让出原来位置(指按照静态定位时所在的位置),其他元素可以占用
<head><meta charset="UTF-8"><style>.innerDiv{width: 100px;height: 100px;}.d1{background-color: rgb(166, 247, 46);position: static;}.d2{background-color: rgb(79, 230, 124);}.d3{background-color: rgb(26, 165, 208);}</style>
</head>
<body><div class="innerDiv d1">框1</div><div class="innerDiv d2">框2</div><div class="innerDiv d3">框3</div>
</body>

image-20231030162517093

相对定位:relative

  • 相对于自己原来的位置进行定位
  • 定位后保留原来的站位,其他元素不会移动到该位置
<head><meta charset="UTF-8"><style>.innerDiv{width: 100px;height: 100px;}.d1{background-color: rgb(166, 247, 46);position: relative;left: 30px;top: 30px;}.d2{background-color: rgb(79, 230, 124);}.d3{background-color: rgb(26, 165, 208);}</style>
</head>
<body><div class="innerDiv d1">框1</div><div class="innerDiv d2">框2</div><div class="innerDiv d3">框3</div>
</body>

image-20231030162505584

CSS盒子模型

所有HTML元素都可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用

盒子模型要素

image-20231030163547572

要素解释
Margin(外边距)清除边框外的区域,外边距是透明的
Border(边框)围绕在内边距和内容外的边框
Padding(内边距)清除内容周围的区域,内边距是透明的
Content(内容)盒子的内容,显示文本和图像

image-20231030163703044

代码示例

<head><meta charset="UTF-8"><style>.outerDiv {width: 800px;height: 300px;border: 1px solid green;background-color: rgb(230, 224, 224);margin: 0px auto;}.innerDiv{width: 100px;height: 100px;border: 1px solid blue;float: left;/* margin-top: 10px;margin-right: 20px;margin-bottom: 30px;margin-left: 40px; */margin: 10px 20px 30px 40px;}.d1{background-color: greenyellow;/* padding-top: 10px;padding-right: 20px;padding-bottom: 30px;padding-left: 40px; */padding: 10px 20px 30px 40px;}.d2{background-color: rgb(79, 230, 124);}.d3{background-color: rgb(26, 165, 208);}</style>
</head>
<body><div class="outerDiv"><div class="innerDiv d1">框1</div><div class="innerDiv d2">框2</div><div class="innerDiv d3">框3</div></div> 
</body>

image-20231030163731249

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习之基于YoloV5-Deepsort人物识别与追踪系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 YoloV5-Deepsort是一种基于深度学习的人物识别与追踪系统&#xff0c;具有较高的准确率和实时性能。 YoloV5是一种…

在maven官网中如何下载低版本的maven

链接&#xff1a;https://archive.apache.org/dist/maven/maven-3/

[ACTF2020 新生赛]Upload 1

题目环境&#xff1a; 仍旧是文件上传漏洞 这道题和上一道大差不差、大同小异、这里不再赘述。 [极客大挑战 2019]Upload 1&#xff1a;https://blog.csdn.net/m0_73734159/article/details/134267317?spm1001.2014.3001.5501 区别在于本题需要在抓包数据里面改文件后缀&#…

关于WMS三个核心问题的解读

一、企业是否需要上WMS系统&#xff0c;可以从以下五个方面入手&#xff1a; 1.库存管理状况&#xff1a;了解企业的库存管理状况&#xff0c;是否存在库存冗余、漏洞、过度采购、库存盘点不准确等问题。 2.物流效率水平&#xff1a;需要了解企业物流效率水平&#xff0c;包括…

【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉…

【蓝桥杯选拔赛真题13】C++最短距离 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析

C/C++最短距离 第十二届青少组蓝桥杯C++选拔赛真题 一、题目要求 1、编程实现 有一个居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3……,当排满一行时,从下一行相邻的楼往反方向排号。 例如:小区为 3 行 6 列,矩阵排列方式: 要求:已知小区…

如何在CPU上进行高效大语言模型推理

大语言模型&#xff08;LLMs&#xff09;已经在广泛的任务中展示出了令人瞩目的表现和巨大的发展潜力。然而&#xff0c;由于这些模型的参数量异常庞大&#xff0c;使得它们的部署变得相当具有挑战性&#xff0c;这不仅需要有足够大的内存空间&#xff0c;还需要有高速的内存传…

【STM32】定时器

systick定时器&#xff1a; 【STM32】Systick定时器-CSDN博客 0.通用定时器框图 1.时钟源 2.控制器 3.输入捕获 计数器实际上是与比较寄存器的影子寄存器进行比较的。 4.输出比较 1.STM32的定时器学习要点 参考手册 STM32F1xx中文参考手册.pdf 林何/STM32F103C8 - 码云 -…

sql学习笔记(三)

目录 1.四舍五入 2.向上取整 3.向下取整 4.Hive 分区 5.case when条件语句 6.日期函数 7.字符串函数 8.窗口函数 1️⃣排序函数 1.四舍五入 round select round(3.14) —>3 2.向上取整 ceiling select ceiling(12.15) —>13 3.向下取整 floor select flo…

centos获取服务器公网ip

查看公网IP 用下面几个命令&#xff1a; #curl ifconfig.me #curl icanhazip.com #curl cip.cc

现一个智能的SQL编辑器

补给资料 管注公众号&#xff1a;码农补给站 前言 目前我司的多个产品中都支持在线编辑 SQL 来生成对应的任务。为了优化用户体验&#xff0c;在使用 MonacoEditor 为编辑器的基础上&#xff0c;我们还支持了如下几个重要功能&#xff1a; 多种 SQL 的语法高亮多种 S…

Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)

qspi_50m.xdc文件&#xff1a; set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design] set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design] set_property CONFIG_VOLTAGE 3.3 [curren…

听听ChatGPT对IT行业的发展和就业前景的看法

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:PYTHON学习系列专栏&#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 (1)判断素数 写法1: 写法2: (2)计算1-100的偶数之和 写法1: 写法2: (3)计算1-100的奇数之和 (4)多层循环 IT行业哪个方向比较…

easyHttp -- 轻量级的 HTTP 客户端工具包

easyHttp gitte地址:easy-http 介绍 easyHttp 是一个轻量级的 HTTP 客户端工具包&#xff0c;专为 Java 设计&#xff0c;使得基本的 HTTP 请求变得异常简单。该库主要针对常见的 HTTP 请求提供了简洁的 API&#xff0c;使得开发者无需面对复杂的设置。当前版本已支持基本的请…

Markdown写作应用推荐

MWeb Pro 是一款适用于macOS的专业Markdown写作、笔记本应用软件。喜欢写博客的朋友&#xff0c;那你一定会需要 MWeb Pro 这款软件。为您提供最佳的写作体验。 Markdown 语法支持&#xff1a; 使用 Github Flavored Markdown 语法&#xff0c;简称 GFM 语法。支持表格、TOC、…

在搜索引擎中屏蔽csdn

csdn是一个很好的技术博客&#xff0c;里面信息很丰富&#xff0c;我也喜欢在csdn上做技术笔记。 但是CSDN体量太大&#xff0c;文章质量良莠不齐。当在搜索引擎搜索技术问题时&#xff0c;搜索结果中CSDN的内容占比太多&#xff0c;导致难以从其他优秀的博客平台中获取信息。因…

【教3妹学编程-算法题】最长平衡子字符串

3妹&#xff1a;呜呜&#xff0c;烦死了&#xff0c; 脸上长了一个痘 2哥 : 不要在意这些细节嘛&#xff0c;不用管它&#xff0c;过两天自然不就好了。 3妹&#xff1a;切&#xff0c;你不懂&#xff0c;影响这两天的心情哇。 2哥 : 我看你是不急着找工作了啊&#xff0c; 工作…

在直播系统中使用SRT协议传输视频

目录 1、简述 2、NDI、RTSP协议的优缺点 3、SRT协议简介 4、SRT协议链接地址URL格式 &#xff08;1&#xff09;listener&#xff1a; &#xff08;2&#xff09;caller&#xff1a; 5、手机发送SRT实时音视频 6、OBS中的设置 7、在vMix中的设置 8、写在最后 1、简述 …

学习LevelDB架构的检索技术

目录 一、LevelDB介绍 二、LevelDB优化检索系统关键点分析 三、读写分离设计和内存数据管理 &#xff08;一&#xff09;内存数据管理 跳表代替B树 内存数据分为两块&#xff1a;MemTable&#xff08;可读可写&#xff09; Immutable MemTable&#xff08;只读&#xff0…

如何选择SVM中最佳的【核函数】

参数“kernel"在sklearn中可选以下几种 选项&#xff1a; 接下来我们 就通过一个例子&#xff0c;来探索一下不同数据集上核函数的表现。我们现在有一系列线性或非线性可分的数据&#xff0c;我们希望通过绘制SVC在不同核函数下的决策边界并计算SVC在不同核函数下分类准确…