首页 > 其他分享 >CSS基础

CSS基础

时间:2024-09-25 16:49:58浏览次数:3  
标签:样式 标签 基础 height color 选择器 CSS

CSS简介

image-20211130110019853

CSS概念

CSS(Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表

CSS文件后缀名为.css

CSS用于HTML文档中元素样式的定义

为什么需要CSS

使用css的目的就是让网页具有美观一致的页面

CSS和HTML之间的关系

  1. HTML用于构建网页的结构
  2. CSS用于构建HTML元素的样式
  3. HTML是页面的内容组成,CSS是页面的表现

语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明

image-20211129154503132

选择器通常是您需要改变样式的 HTML 元素

每条声明由一个属性和一个值组成

属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开

<style>
  h1{
    color: blue;
    font-size: 12px;
   }
</style>

CSS的引入方式

image-20211130111128496

内联样式(行内样式)

要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性

温馨提示

缺乏整体性和规划性,不利于维护,维护成本高

<p style="background: orange; font-size: 24px;">CSS<p>

内部样式

当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在文档头部定义内部样式表

温馨提示

单个页面内的CSS代码具有统一性和规划性,便于维护,但是在多个页面之间容易混乱

<head>
  <style> 
    h1 { 
      background: red; 
    } 
  </style>
</head>

外部样式(推荐)

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表。 <link> 标签在(文档的)头部

<link rel="stylesheet" type="text/css" href="xxx.css">

导入式(了解)

此种方式使用率比较低,因为会影响加载速度

<style type="text/css">
  @import url("css文件路径");
</style>

@import和link的区别

  1. @importCSS提供加载样式的一种方式,只能用于加载CSSlink标签除了可以加载CSS外,还可以做很多其它的事情,比如定义rel连接属性等
  2. 加载顺序的差别。当一个页面被加载的时候,link引用的CSS会同时被加载,@import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候会比较明显
  3. 兼容性的差别。@importIE5以上才能识别,而link标签无此问题
  4. 使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为dom操作元素的样式时,用@import方式的样式也许还未加载完成
  5. 使用@import方式会增HTTP请求,会影响加载速度,所以谨慎使用该方法

CSS样式表特征

image-20211130112432333

继承性

指被包含在内部的标签可以拥有外部标签的样式,比如:text-、font-、line-height,但有些属性不能继承,比如:border、padding、margin

层叠性

简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。例如对一个站点中的多个页面使用了同一套CSS样式表,而某些页面中的某些元素想使用其他样式,就可以针对这些样式单独定义一个样式表应用到页面中。这些后来定义的样式将对前面的样式设置进行重写,在浏览器中看到的将是最后面设置的样式效果

优先级

样式定义冲突时,按照不同样式规则的优先级来应用样式

行内样式>内部样式(外部样式)

内部样式和外部样式优先级一样,写在后面的生效

CSS注释

注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它

CSS注释以 /* 开始, 以 */结束,

基础选择器一

image-20211130113235236

全局选择器

可以与任何元素匹配,优先级最低,不推荐使用

*{
   margin: 0;
   padding: 0;
 }

元素选择器

HTML文档中的元素,p、b、div、a、img、body等。

标签选择器,选择的是页面上所有这种类型的标签,所以经常描述“共性”,无法描述某一个元素的“个性”

p{
  font-size:14px;
}

再比如说,我想让“学完前端,继续学Java”这句话中的“前端”两个变为红色字体,那么我可以用<span>标签把“前端”这两个字围起来,然后给<span>标签加一个标签选择器

<p>学完了<span>前端</span>,继续学Java</p>
span{
    color: red;
}

温馨提示

  1. 所有的标签,都可以是选择器。比如ul、li、label、dt、dl、input、div等
  2. 无论这个标签藏的多深,一定能够被选择上
  3. 选择的所有,而不是一个

类选择器

规定用圆点 . 来定义,针对你想要的所有标签使用

优点

灵活

<h2 class="oneclass">你好</h2>
/*定义类选择器*/
.oneclass{
    width:800px;
}

class属性的特点

  1. 类选择器可以被多种标签使用
  2. 类名不能以数字开头
  3. 同一个标签可以使用多个类选择器。用空格隔开
<h3 class="classone  classtwo">我是一个h3啊</h3>
<h3 class="teshu" class="zhongyao">我是一个h3啊</h3>  // 错误

基础选择器二

image-20211130113629959

ID选择器

针对某一个特定的标签来使用,只能使用一次。css中的ID选择器# 来定义

<h2 id="mytitle">你好</h2>
#mytitle{
   border:3px dashed green;
}

特别强调

  1. ID是唯一的
  2. ID不能以数字开头

合并选择器

语法:选择器1,选择器2,...{ }

作用:提取共同的样式,减少重复代码

.header, .footer{
  height:300px;
}

选择器的优先级

CSS中,权重用数字衡量

元素选择器的权重为: 1

class选择器的权重为: 10

id选择器的权重为: 100

内联样式的权重为: 1000

优先级从高到低: 行内样式 > ID选择器 > 类选择器 > 元素选择器

DIV+CSS布局

image-20211130114131538

优点

  1. 符合W3C标准
  2. 使页面载入得更快
  3. 保持视觉的一致性
  4. 修改设计时更有效率
  5. 搜索引擎友好

布局时常用的属性

属性描述
width宽度
height高度
background-color背景颜色
float浮动(div不在独占一行,左右摆放)

布局-上中下结构

image-20211130095909923

<div class="header"></div>
<div class="content"></div>
<div class="footer"></div>

<style>
.header {
  height: 100px;
  background-color: #fcc;
}


.content {
  height: 400px;
  background-color: #ff9;
}


.footer {
  height: 100px;
  background-color: #ccf;
}
</style>

布局-上中下-左右

image-20211130100147199

<div class="container">
  <div class="header"></div>
  <div class="nav"></div>
  <div class="content">
    <div class="left"></div>
    <div class="center"></div>
    <div class="right"></div>
  </div>
  <div class="footer"></div>
</div>

<style>
.header {
  width: 100%;
  height: 100px;
  background-color: red;
}
.nav {
  width: 100%;
  height: 50px;
  background-color: pink;
}
.content {
  width:100%;
  height: 300px;
  background-color: yellow;
}
.footer {
  width: 100%;
  height: 150px;
  background-color: deepskyblue;
}
.left {
  width: 33.33%;
  height: 300px;
  background-color: palegoldenrod;
  float: left;
}
.center {
  width: 33.33%;
  height: 300px;
  background-color: palegreen;
  float: left;
}
.right {
  width: 33.33%;
  height: 300px;
  background-color: palevioletred;
  float: left;
}
</style>

标签:样式,标签,基础,height,color,选择器,CSS
From: https://blog.csdn.net/manba_yqq/article/details/142527905

相关文章

  • CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!
        一、CTF简介CTF(CaptureTheFlag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行......
  • 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
      这篇文章没有什么套路。就是一套自学理论和方向,具体的需要配合网络黑白去学习。毕竟是有网络才会有黑白!有自学也有培训!1.打死也不要相信什么分分钟钟教你成为大黑阔的,各种包教包会的教程,就算打不死也不要去购买那些所谓的盗号软件之类的东西。2,我之前让你们在没有目的......
  • 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
      这篇文章没有什么套路。就是一套自学理论和方向,具体的需要配合网络黑白去学习。毕竟是有网络才会有黑白!有自学也有培训!1.打死也不要相信什么分分钟钟教你成为大黑阔的,各种包教包会的教程,就算打不死也不要去购买那些所谓的盗号软件之类的东西。2,我之前让你们在没有目的......
  • Linux基础——修改Bclinux8的内核启动顺序
    一、Grubby的参数(base)[root@NewOSBC8~]#grubby--helpUsage:grubby[OPTION...]--add-kernel=kernel-pathaddanentryforthespecifiedkernel--args=argsdefaultargumentsforthenewkernelornewarguments......
  • 【基础岛·第2关】8G 显存玩转书生大模型 Demo
    目录创建开发机环境配置CliDemo部署InternLM2-Chat-1.8B模型创建开发机我们选择10%的开发机,镜像选择为Cuda-12.2。在输入开发机名称后,点击创建开发机环境配置在/root/share/pre_envs中配置好了预置环境icamp3_demo可以通过如下指令进行激活:condaactivate/root......
  • 【基础岛·第1关】书生大模型全链路开源体系
    目录过往一年历程1.核心技术2.大海捞针实验3、人机解决方式的差别全链路开源生态1数据2开源数据处理工具箱3预训练4微调xtuner5评测6部署7智能体8项目过往一年历程7b可以应对中小企业业务,但20b才有涌现现象1.核心技术2.大海捞针实验超长文本内容中的问答正确度3......
  • MySQL SQL基础常见面试题整理
    NOSQL和SQL的区别是什么?SQL数据库是指关系型数据库,主要有:SQLServer,Oracle,MySQL(开源),PostgreSQL(开源)。关系型数据库用于存储结构化数据,这些数据在逻辑上以行和列的二维表形式存在,每一列代表一个数据属性,每一行则代表一个数据实体。NoSQL是指非关系型数据库,主要有MongoDB和......
  • Mybatis基础操作
    一、设置日志mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl在Mybatis当中我们可以借助⽇志,查看到sql语句的执⾏、执⾏传递的参数以及执⾏结果二、XML映射SQL在MyBatis中,你可以选择两种主要方式来编写SQL映射:使用XML映射文件或者......
  • 【信息论基础第三讲】再谈离散信源的信息测度之熵的性质多符号信源的信息测度
    一、PieceOfCake1、离散信源X的熵是H(X)是一个常数而不是一个变量解释:离散信源的熵也就是自信息I(X)的数学期望,即H(X)=E[I(Xi)],而通过概率论的知识我们知道数学期望是一个常数,故熵也是一个常数。2、八元编码系统,码长为3,第一个符号用于同步,每秒1000个码字,求它的信息速率......
  • 【射频电子线路基础第五讲】射频电路的非线性
    一、无线通信系统与信道二、射频系统非线性1、非线性概念线性是指元件参数与通过元件的电流或者电压无关非线性是指元件参数与通过元件的电流或者电压有关时变线性是指元件参数按照一定规律随着时间变化,但与通过元件的电流或者电压无关射频元器件实际上是非线性的,线性是......