前端入门第一周

一. HTML和CSS概述

1.概述

1.扩展

80 20 原则,只有百分之二十的知识,有百分之八十的场景可以用到。百分之八十也会增强竞争力。
2.html css
html+css+javascript=网页
(1)html:hyper text markup language超文本标记语言:定义网页中有什么东西。有什么信息。(盖毛坯房)
(2)css:层叠样式表,定义网页中的东西长什么样子。(装修)
3.如何学习?
(1)心态平和。
(2)多练习。一定一定一定
软件开发:工科
4.学习顺序
(1)HTML
(2)CSS(补充html)
5.VS:编写代码(做笔记)
6.markdown:MD,文档格式标准。
7.【toc】目录的意思
8.#一级标题
9.##二级标题

2. 开发环境的准备

术语

1.web:互联网
2.w3c:万维网联盟,非盈利性的组织
w3.org,为互联网提供各种标准
3.XML:可扩展的标记语言:extension markup language.用于定义文档结构的。
4. <任务> <执行任务>每周一</执行日期> <执行时间>下午两点</执行时间> </任务>
5.什么是html?
答:是w3c组织定义的语言标准:是用于描述页面结构的语言。
结构:有什么东西,该东西表示什么含义。
html.超文本内容(超文本:从文档的某一部分跳到另一个文档)
书写一个一级标题

<h1>一级标题</h1>

MDN:Mozilla开发者社区(字典)
6.什么是CSS?
CSS是w3c定义的语言标准。css是用于页面展示:颜色,边框颜色,布局,显示位置,字体大小。CSS决定了页面长什么样子。
7.执行
HTML CSS交给浏览器执行,结果是看到的页面(浏览器内核)
浏览器:1.shell:外壳
2.core:内核(JS执行引擎,渲染引擎)
独立内核的浏览器1).IE:trident
2).firfox:Gecko 3).chrome:webkit(之前)/blink
4).safari:webkit 5).opera:presto/blink
**
8.版本和兼容性

html5,css3:目前还没有制定完成
xhtml:可以认为是Html的一种一个版本,完全符合xml的规范。(以前的)

二.HTML核心

1.第一个网页

Emmet插件:自动生成HTML代码片段

1)注释

快捷键:Ctrl+/
注释为代码的阅读者提供帮助,注释不参与运行
在HTML中,注释使用如下格式书写

<!-- 注释内容 -->

2)元素

其他叫法:标签,标记

 <a href="http://www.duyiedu.com" title="黑龙江渡一教育有限公司">渡一教育</a>

整体:element(元素)

元素=起始标记(<a>) + 结束标记(</a>)+ 元素内容(渡一教育) + 元素属性(额外信息)

起始标记和结束标记决定元素的名称;
属性=属性名(属性是干什么用 例:href)+属性值(例:http://www.duyiedu.com)
title=“黑龙江渡一教育有限公司”(鼠标放在那里,会显示的提示)

属性的分类
——局部属性:某些元素特有的属性
例:href是a元素特有的属性
——全局属性:所有元素通用(title)

<meta charset="UTF-8">

有些元素没有结束标记,这样的元素叫做:空元素
例:img元素 <img src=“图片地址”>

空元素的两种写法:
1)<meta charset="UTF-8">
2)<meta charset="UTF-8"/>/表示闭合标记

3)元素的嵌套

1)注意元素不能相互嵌套
例:

  <body>
       <div>
             <p>
       </div>
             </p>
  </body>

2)父元素 子元素 祖先元素 后代元素 兄弟元素(拥有同一个父元素的两个元素)

4) 标准的文档结构

html:页面、HTML文档
1)

<!DOCTYPE html>

文档声明,告诉浏览器,当前文档使用的HTML 标准是HTML5,如果不写文档声明,将导致浏览器进入怪异渲染模式
2)

  <html lang="en">  中文"cmn-hans"
  </html>

html 根元素,一个页面最多只能一个,并且该元素是所有其他元素的父元素或祖先元素(html5版本中没有强制要求写该元素)
lang 属性:全局属性,表示该元素内部使用的文字是使用哪一种自然语言书写而成的。
3)head元素

  <head>
  </head>  文档头,文档头内部的内容,不会显示到页面上

4)meta元素

  <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

文档的元数据:附加信息(告诉浏览器的一些信息);
charset:指定网页内容编码
计算机中低电压(0~2v) 0 高电压(2~5v) 1
计算机,只能存储数字,只能将数字和文字对应
例: a-97 A-64
(该字典叫做字符编码表,GB2312,GBK)
UTF-8是unicode编码的一个版本
<meta>第二行是适配手机端的
第三行解决IE的问题
5)

  <title>Document</title>

网站标题
6) <body> </body> 文档体,页面上所有要参与显示的元素,都应该放到文档体中。

2. 语义化

1) 什么是语义化?

  1. 每一个HTML元素都有具体的含义

a元素:超链接
P元素:段落
h1元素:一级标题

  1. 所有元素与展示效果无关

元素展示到页面中的效果,应该由CSS决定的

因为浏览器带有默认的CSS样式,所以每个元素有一些默认样式。

重要:选择什么元素,取决于内容的含义,而不是显示的效果,效果是由CSS来控制
根据含义选择元素,而不是显示什么选择元素;

2).为什么需要语义化?

  1. 为了搜索引擎优化(SEO)
    SEO:搜索引擎:百度 搜狗 Bing 谷歌

每隔一段时间,搜索引擎会从整个互联网中抓取页面(页面源代码),语义化会让搜索引擎更加容易理解源代码,网页语义化写的越好,搜索引擎就会越理解你的代码
2. 为了让浏览器理解网页

阅读模式、语音模式

3.文本元素

HTML5中支持的元素:HTML5元素周期表

1)h

标题: head
h1~h6:表示1级标题到6级标题

2)p

段落: paragraphs
p乘3>{这是一个段落}——tab键
p乘6>{…}——tab键
Lorem 乱数假文,没有任何实际含义的文字
p乘6>lorem——tab键(测试排版)
如果是p*6>lorem1(每个段落只生成1个单词)

3)span【无语义】

span:没有语义,只用来设置样式
三原色包含:红、绿、蓝
CSS需要识别元素样式
例:

三原色包含:<span style="color:red"></span><span style="color:green">绿</span><span style="color:blue"></span>

以前:某些元素会显示时会独占一行(块级元素:会独占一行,会导致换行),而某些元素不会(行级元素:不会换行)——展示效果
现在:到了HTML5,已经弃用这种说法,根据w3c官方标准的描述,元素代表含义,与显示无关,已经不能叫块级元素和行级元素,现在叫块级或行级容器

4)pre

预格式化文本元素

空白折叠:在源代码中的连续空白字符(空格、换行、制表),在页面显示时,会被折叠为一个空格
将源代码的空白和页面上的空白区分开;(为了让源代码的空格不会影响到页面的空格)

例外:在pre元素中不会出现空白折叠
在pre元素内部出现的内容,会按照源代码格式显示到页面上(为了显示图形,源代码)

该元素通常用于在网页显示一些代码

pre元素功能的本质:它有一个默认的CSS属性
因为pre本质是一个无语义代码,为了让浏览器识别代码往往会

<code >
  &lt; pre &gt;
         var i=2;
         if(i){                         
            console.log(i);
         }
  < /pre >
</code > 

code会告诉浏览器这里面是代码
显示代码时,通常外面套code元素,code表示代码区域
或者:

<code style="white-space:pre">
        var i=2;
         if(i){                         
            console.log(i);
         }
</code>

4.HTML实体

实体字符,HTML Entity(表格)

实体字符通常用于在页面中显示一些特殊符号

  1. &单词;
  2. &#数字;
  • 小于符号 &lt;
  • 大于符号 &gt;
  • 空格符号 &nbsp;需要几个写几个
  • 版权符号 &copy;
  • &符号 &amp;

== 5.a元素==

超链接

1)href属性

hyper reference(引用)表示跳转地址

  1. 跳转地址(普通链接)
  2. 跳转到某个锚点(跳到当前页面的不同位置)——锚链接
   <h2>章节1</h2>
   <p>
       Lorem 
  </p>

快捷反式可以写成
h2>{章节1})+p>lorem——tab
若要很多次
例:((h2>{章节$})+p>lorem1000)*6——tab

目录
<!-- 目录 -->
a*6>{章节$}——tab
点其中的一个是跳转到其所在的位置

id属性:全局属性,表示元素在文档中的唯一编号;

    <!-- 目录 -->
    /*a[href="#chapter$"]*6>{章节$}——tab*/
    <a href="#chapter1">章节1</a>
    <a href="#chapter2">章节2</a>
    <a href="#chapter3">章节3</a>
    <a href="#chapter4">章节4</a>
    <a href="#chapter5">章节5</a>
    <a href="#chapter6">章节6</a>

   /*((h2[id="chapter$"]>{章节$})+p>lorem1000)*6--tab键*/
    <h2 id="chapter1">章节1</h2>
    <p>Lorem, ipsum.</p>
    <h2 id="chapter2">章节2</h2>
    <p>Nisi, mollitia!</p>
    <h2 id="chapter3">章节3</h2>
    <p>Deleniti, maxime?</p>
    <h2 id="chapter4">章节4</h2>
    <p>Facere, dolorum?</p>
    <h2 id="chapter5">章节5</h2>
    <p>Nihil, enim?</p>
    <h2 id="chapter6">章节6</h2>
    <p>Unde, eligendi?</p>
<a href="#">回到顶部</a>  本质都是页面地址的转变。
<a href="锚链接.html#chapter3">锚链接页面的第三章</a>
  1. 功能链接
    点击后,触发某个功能
    ——执行JS代码,javascript:
<a href="javascript:alert('你好!')">弹出:你好!</a>

——发送邮件(要求用户计算机上安装有邮件发送软件:exchange)

<a href="mailto:2345@qq.com">点击给我发送邮件</a>

——拨号,tel(要求用户计算机上安装有拨号软件,或使用的是移动端访问)

<a href="tel:18220093946">点击给我拨打电话</a>

2)target属性

表示跳转窗口位置。
target的取值:
-_self:在当前页面窗口中打开,默认值;

<a href="http://douyu.com" target="_self" title="斗鱼每个人的直播平台">斗鱼直播</a>

-_blank:在新窗口中打开:

<a href="http://douyu.com" target="_blank">斗鱼直播</a>

3) title

全局属性:提示;

6.路径的写法

1). 站内资源和站外资源

站内资源:当前网站的资源;(自己的东西)
站外资源:非当前网站的资源(别人的东西)

2). 绝对路径和相对路径

站外资源:绝对路径;(只可以使用绝对路径)——复制地址
站内资源:相对路径;(也可以使用绝对路径)——./…/

  1. 绝对路径的书写格式:

url地址:(方式)

协议名://主机名:端口号/path

schema://host:port/path

例:在百度中:https://news.sina.com.cn/china/wjwsj/2022-11-15/doc-imqmmthc4615841.shtml
在人人网:http
网页在本地打开:file
http://127.0.0.1:5500/2

  1. 协议名:http、https、file(本地文件)——交通工具
    2)主机名:域名或IP地址127.0.0.1:——哪一条街多少号
    3)端口号:5500——这栋楼的哪一个房间
    如果协议是http协议,默认端口号80;如果协议协议是https协议,默认端口号为443;
    4)路径:——这个房间的第几个柜子的第几个抽屉

当跳转目标和当前页面的协议相同时,可以省略协议(主机名和端口号类似)

  1. 相对路径

以./开头, ./表示当前资源所在的目录
可以书写…/表示返回上一级目录;
1)在相对路径的写法中——跳到a.html

    <a href="./subhtmls/a.html">
        subhtmls ->a.html
    </a>
  1. 在a.html中——跳到相对路径的写法
   <a href="./../">——勾选
       相对路径的写法.html
   </a>

相对路径中: ./可以省略

7.图片元素

1).img元素

image缩写,空元素

src属性:source

<img src="https://i-blog.csdnimg.cn/blog_migrate/e0b16d50ae3b35e56b8fb32c2f6111cb.jpeg">

站外资源——绝对路径
alt属性:当图片资源失效时,将使用该属性的文字替代图片
例:这是一张太阳系的图片——站内资源——相对路径
(文字是在图片不能显示的情况下才会显示的)

2).和a元素联用

点击图片会跳转到一个地址

<a target="_blank" href="https://www.361478.com/baizi/354225.html">——通过绝对路径从当地图片跳转到百度百科网页
   <img src="./img/solor2.jpg" alt="这是一张太阳系的图片">
</a>

3). map元素

map:地图
map的子元素:area shape coords(坐标) href(点击这个形状的链接地址) alt(当区域显示不出来时所显示的文字内容) target(点击这个链接时所显示的窗口是新窗口还是当前窗口)

  1. 坐标系的原点在图片的左上角(向右x增加,向下y增加)
  2. 坐标:圆(圆心的距离)(半径)
    矩形 rect(左上角坐标 右下角坐标)
    多边形 poly (依次描述每个点的坐标)
<a target="_blank" href="https://www.361478.com/baizi/354225.html">
    <img usemap="#solarMap" src="./img/solor2.jpg" alt="这是一张太阳系的图片">
</a>

<map name="solarMap">(或solor-map)
    <area shape="circle" coords="360,204,48" href="木星的地址"  alt=""target="_blank">
    <area shape="rect" coords="323,282,395,320" href="木星的地址" alt="" target="_blank">
    <area shape="poly" coords="601,371,645,312,678,338,645,392" href="冥王星的地址"alt="" target="_blank">
</map>

注意:需要量标准的图形的尺寸(QQ截图)%100
衡量坐标时,为了避免误差,需要使用专业的衡量工具:
ps pxcook cutpro(ALT+C

4)和figure元素连用(额外信息)

指代,定义,通常用于把图片,图片标题,描述包裹起来

子元素:figcaption(指代东西的标题)

<body>
  <figure>
      <a target="_blank" href="https://www.361478.com/baizi/354225.html">
          <img usemap="#solarMap" src="./img/solor2.jpg" alt="这是一张太阳系的图片">
      </a>
      <figcaption>——在标题部分加上
         <h2>太阳系</h2>
      </figcaption>

      <p>
      太阳系的一段说明;
      </p>
  </figure>

   <map name="solarMap">(或solor-map)
     <area shape="circle" coords="360,204,48" href="木星的地址" target="_blank">
     <area shape="rect" coords="323,282,395,320" href="木星的地址" target="_blank">
     <area shape="poly" coords="601,371,645,312,678,338,645,392" href="冥王星的地址"target="_blank">
  </map>
</body>
Document
这是一张星系图片

太阳系

太阳系的一段说明

8.多媒体元素

video 视频

audio 音频

1). video

一般情况下,是点击视频右键,点击显示0控件
想要刚开始就要显示控件的话,通过一个属性来控制

controls:控制空间的显示,取值只能为controls
例:

<video controls="controls" src="./media/open.mp4" style="width:500px;">

某些属性,只有两种状态:1.不写 2.取值为书写名——这种属性叫做布尔属性

布尔属性,在HTML5中,可以不用书写属性值

<video controls src="./media/open.mp4" style="width:500px;">

autoplay:布尔属性,自动播放
muted:布尔属性,静音播放

<video controls autoplay muted src="./media/open.mp4" style="width:500px;">

loop:布尔属性,循环播放

2). audio

和视频完全一致

<audio src="./media/open.mp3" style="width:500px;" controls autoplay muted></audio>

3). 兼容性

  1. 旧版本的浏览器不支持这两个元素
  2. 不同的浏览器支持的音视频格式可能不一致

视频:mp4、webm

如果浏览器不支持:
<video controls autoplay muted loop src="./media/open.mp4" style="width:500px;">
   <source src="media/open.mp4">
   <source src="media/open.webm">
   <p>
   对不起,你的浏览器不支持video元素,请点击这里下载最新版本的浏览器
   </p>
</video>

9.列表元素

1). 有序列表

type属性(不太建议)——1 i(罗马数字)a(英文字母)A
小技巧:ALT+shift+光标的下——可以复制选中的结果
除非列表中序号很重要(比如,在法律或者技术文件中条目通常需要被引用),否则使用CSS lsit-style-type

reversed——布尔属性(倒着进行排序)

ol:ordered list

li:list item
列表的子元素只能是li

   把大象放冰箱,总共分几步?
    <ol reversed>
         <li>打开冰箱门</li>
         <li>大象进去</li>
         <li>冰箱门关上</li>
    </ol>

2).无序列表

把ol改成ul(其余和有序列表一样)

ul:unordered list
好学生条件

    <ul>
        <li>有责任心</li>
        <li>会家务</li>
        <li>学习好</li>
    </ul>

再提示一句:所有元素与显示效果无关
无序列表常用于制作菜单或新闻列表

3). 定义列表

通常用于一些术语的定义
dl:definition list

子元素 1)dt:definition title ——所要定义的名称
2)dd: definition desciption——定义的内容

10.容器元素

容器元素:该元素代表一块区域,内部用于放置其他元素,甚至其他容器

1). div元素——不知道元素就用div

没有语义,只是让浏览器知道这是一块区域,但浏览器不知道这个区域有什么含义
本身不带来任何效果

一个页面一般分为三个区域

  <div>
        <div>
            <img  src="" alt="">
        </div>
        <div>
            <ul>
                <Li>Lorem.</Li>
                <Li>Aperiam.</Li>
                <Li>Alias?</Li>
                <Li>Quibusdam?</Li>
            </ul>
        </div>
    </div>
    <div>
    </div>
    <div>
    </div>

2). 语义化容器元素

header:通常用于表示页头,也可以用于表示文章的头部

 <header>
        <div>
            <img  src="" alt="">
        </div>
        <div>
            <ul>
                <Li>Lorem.</Li>
                <Li>Aperiam.</Li>
                <Li>Alias?</Li>
                <Li>Quibusdam?</Li>
            </ul>
        </div>
    </header>

footer:通常用于表示页脚,也可以用于表示文章的尾部
article:通常用于整篇文章
section:通常用于表示文章的章节
例:

     <article>
        <header>
            <h1>
                文章的标题
            </h1>
            <div>
                元素2
            </div>
        </header>
        <section>
               <p>Lorem ipsum dolor sit amet.</p>
               <p>Nesciunt illum vel velit libero?</p>
               <p>Illum dolor excepturi sapiente dolore?</p>
        </section>
        <section>
            ...
        </section>
     </article>

aside:通常用于表示侧边栏(附加信息)——不是很重要的信息

11.元素包含关系

以前:块级元素可以包含行级元素,行级元素不可以包含块级元素,a元素(行级元素)除外

元素的包含关系由元素的内容类别决定。

例如,查看h1元素中是否可以包含p元素
则:进入百度查h1 mdn

总结:
1.容器元素中可以包含任何元素
2.a元素中几乎可以包含任何元素
3.某些元素有固定的子元素(ul>li,ol>li,dl>dt+dd)
4.标题元素和段落元素不能相互嵌套,并且不能包含容器元素

在百度可查阅:内容类别mdn

三.CSS基础

1.为网页添加样式

1). 术语解释

    <style>
       h1{
            color:red;
            background-color:lightblue;
            text-align: center;
        }
    </style>

CSS规则 = 选择器 + 声明块

2).选择器

选择器:选中元素——确定样式的范围

  1. ID选择器:选中的是对应id值的元素,选中一个元素(范围太窄)
<style>
    #test{
        color:blue;
    }
</style>
<body>
     <p id="test">lorem ipsum dolor sit amet.</p>
</body>

2.元素选择器——可以选择页面上所有同名的元素(范围太广)
3. 类选择器——用的最多,非常灵活,最为推荐
一个元素可以使用多个类选择器
例:

<style>
       .red{       ——选中class为red的元素进行添加样式
        color:red;
       }
       .big-center{
         font-align:3em;
         text-align:center;
       }
    </style>
</head>
<body>
    <h1 class="red">
        现在开始添加样式
    </h1>
    <p class="big-center red">lorem ipsum dolor sit amet.</p>
    <p class="red">lorem ispum.</p>
    <p>lorem ipsum dolor sit amet.</p>
    <p>lorem ipsum dolor sit amet.</p>

3). 声明块

出现在大括号中
声明块中包含很多声明(属性),每一个声明(属性)表达了某一方面的样式。
属性名:属性值;

4). CSS代码书写的位置

  1. 内部样表——样式代码不多的时候,好处:少一个文件,第一次读页面时,提高浏览器响应速度,少读一个文件
    书写在style元素中,style一般放在 <head> </head>中

  2. 内联样式表,元素样式表——JS过后,常用来测试
    直接书写在元素的style属性中

    <h1 style="color:red;background-color: lightblue;">
        现在开始添加样式
    </h1>
  1. 外部样式表[推荐]
    将样式书写到独立的CSS文件中。
<link rel="stylesheet" href="./index.css"> rel类型:样式表

link——空元素,连接一个外部的CSS文件
一般写到 <head> </head>中

1)外部样式表可以解决多页面样式重复的问题;
ctrl+鼠标单击会在新窗口打开
2)有利于浏览器缓存,从而提高页面响应速度;
3)有利于代码分离(HTML和CSS),更容易阅读和维护;

2. 常见的样式声明

小技巧:Alt+shift+F——格式化

1). color

元素内部的文字颜色——测试——右键——检查

预设值:定义好的单词

三原色,色值:光学三原色:(红、绿、蓝),每个颜色可以使用0~255之间的数字来表示;在三个颜色中,每个颜色组合起来就是色值

rgb表示法
rgb(0,255,0)     例:color:rgb(0,255,0)
hex(16进制)表示法:
#红绿蓝(两位表示一个颜色)
#008c8c

1)淘宝红:#ff4400——如果每个颜色的个位和十位相同的话,可以只写一个,例:#f40
2)黑色:000000——000
3)白色:#ffffff,#fff
4)红色:#ff0000,#f00
5)绿:#0000fff,#00f
6)紫:#ff00ff #f0f
7)青:#00ffff #0ff
8)黄:#ffff00 #ff0
9)灰:#cccccc #ccc

2). background-color

元素背景颜色 background-color:#008c8c

3). font-size

元素内部文字的尺寸大小

1)px:像素,绝对单位 ,简单的理解为文字的高度占多少个像素 例:font-size:10px;
2)em:相对单位,相对于父元素的字体大小 在检查中:computed:表示计算过后的值(相对单位到最后都会换算成绝对单位)
在CSS中注释:/* */ ——快捷键ctrl+?
每个元素必须有字体大小
如果父元素没有设置字体大小,会继承父元素的字体大小,如果没有父元素(html),则使用基准字号(浏览器里面设置的字号 中:14个像素)

user agent,UA,用户代理(浏览器)
一个没有样式的元素是不会显示的 浏览器给h1元素的默认样式大小为2em;

4). font-weight

文字粗细程度,可以取值数字,可以取值为预设值,默认值为normal相当于400;也可以设置为单词bold相当于700;
不是所有的数字是有效的,一般就是用两个默认值:normal bold

strong,默认加粗。

表示重要的,不能忽略的内容

5). font-family

文字类型:字体 例:微软雅黑 arial 翩翩体
必须用户计算机中存在的字体才会有效

使用多个字体,以匹配不同的环境

<style>
    div{
        font-family:consolas(只能用于英文,中文识别不了),翩翩体-简,微软雅黑,Arial,sans-serif(默认的非衬线字体)
    }
</style>

sans-serif,非衬线字体(字体的边缘没有修饰) 衬线字体(字体的边缘加了修饰,往往用于打印——宋体

6). font-style

字体样式,通常它用于设置倾斜

i元素:特殊的文本,专业术语——默认样式:倾斜字体;实际使用中,通常用它来表示一个图标(icon);
例:font-style:italic

i元素,e元素:斜体

<em>
    表示强调的内容
</em>

7). text-decoration

文本修饰,给文本加线。
例:text-decoration:overline; line-through;underline

a元素
del元素:错误的内容 成语:张口就来
s元素:过期的内容

<del></del>张口就来

呈现效果:

张口就来

    <p>
        活动价格:1.8,原价:<s>998</s>
    </p>

呈现效果:

活动价格:1.8,原价:998

8). text-indent

首行文本缩进 中文的话首段要缩进两个空格:text-indent: 2em

9). line-height

单位:px;

每行文本的高度,该值越大,每行文本的距离越大

设置行高为容器的高度,可以让单行文本垂直居中

<style>
    /* 单行文本垂直居中 */
    p{
      background:#008c8c;
      color:#fff;
      height: 50px;——容器高度
      line-height: 50px;
    }
</style>

多行文字设置高度时,行高可以设置为纯数字,表示相对于当前元素的字体大小

<style>
 p{
    line-height:1.5;
 }
</style>

10). width

宽度 单位:px;

11). height

高度 单位:px;

12). letter-spacing

文字间隙 单位:em px

13). text-align

元素内部文字的水平排列方式
center right left

3.选择器

选择器:帮助你精准的选中想要的元素

1). 简单选择器

  1. ID选择器
  2. 元素选择器
  3. 类选择器
  4. 通配符选择器

*,选中所有元素 :html head body div p h1
例:CSS中:

*{
    color:red;
}

html中:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./CSS/test1.css">
</head>
<body>
    <div>Lorem .</div>
    <p>Lorem .</p>
    <h1>Lorem .</h1>
</body>
</html>
  1. 属性选择器(属性选择器 mdn)

根据属性名和属性值选中元素
选中所有具有href属性的元素 超链接访问过了就会使用另一种颜色
例:
1)css文件中

[href]{
   color:red;
} 

选中了有href属性的元素
2)CSS:

[href="https://www.sina.com"]{
   color:red;
}

选中了属性href的值为"https://www.sina.com“的元素
3)CSS:

[class~="b"]{    ——属性中包含b的元素,b与其他之间有空格
    color:green;
} 

html:

 <a class="a b c d" href="https://baidu.com">百度</a>

4)[attr^=“value”]
表示带有以attr命名的属性,且属性值是以“value”开头的元素

5)[sttr$=“value”]——推荐
表示带有以attr命名的属性,且属性值是以“value”结尾的元素

6)[attr*=“value”]
表示带有以attr命名的属性,且属性值含有“value”元素
与3的区别b与其他之间没有空格
例:
CSS文件中:

[class*="b"]{   
    color:green;
} 

html文件中:

 <a class="abcd" href="https://baidu.com">百度</a>
  1. 伪类选择器——用的超级多,1)2)通常用于a元素3)4)所有元素都可以使用

选中某些元素的某种状态 按顺序来书写,不按顺序写要出问题

1). link: 超链接未访问时的状态 ——想要变回去,需要清除浏览器的访问记录
2). visited: 超链接访问过后的状态

   a:link {
    color: chocolate;
}

a:visited {
    color: rgb(113, 133, 0);
}

3). hover: 鼠标悬停状态,鼠标移动上去的状态

:hover{
    color:red;
} ——所有元素都会被hover

a:hover{
    color:red;
}——a元素会被hover

4). active:激活状态,鼠标按下状态

a:active{
    color:#008c8c;
} 

爱恨法则:love hate——按顺序来书写

  1. 伪元素选择器(前面加两个冒号)
    生成并选中某个元素内部第一个子元素或最后一个子元素(通常)

content:属性,只能用于before after

before after
先在span元素中生成一个子元素,这个子元素一定是第一个元素,元素名字叫before,并且选中了这个子元素

袁老师和成老师的 <span> <xx> </xx> HTML和CSS课程</span>真是不错啊

span::before {
    content: "《";    ——第一个子元素的文本内容
    color: red;
}

在span元素中生成一个子元素,这个子元素一定是最后一个元素,元素名字叫after,并且选中了这个子元素

span::after {
    content: "》";
    color: red;
} 

呈现效果:
袁老师和成老师的 《HTML和CSS》课程真是不错啊

2). 选择器的组合

p.red.center.big

  1. 并且
    CSS中:
 p { 
    text-indent: 2em;
    line-height: 2;
}  
 p.red {
    color: red;
 }

html:

    <p>Lorem</p>
    <p class="red">Lorem </p>
  1. 后代元素 —— 空格——精准的选择元素
    1).
red li {            表示选中属性为red的元素的所有后代元素,将会选中第一个ul中的li
    color: #008c8c;
} 
  <div class="red">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum aliquam sed similique iusto et magnam alias
    <ul>
        <li>Lorem.</li>
        <li>Sunt!</li>
        <li>Sunt.</li>
        <li>Iure!</li>
        <li>Laboriosam.</li>
    </ul>
   </div>
    <ul>
        <li>Lorem.</li>
        <li>Necessitatibus.</li>
        <li>Quasi.</li>
    </ul>

2).css中:

.abc .bcd{      
    color:red;
} 

html中:

<div class="abc">
         <p>Lorem.</p>
         <p class="bcd">Lorem.</p>
         <p>Lorem.</p>
    </div>
   <p class="bcd">Lorem.</p>

精准的选中了div中的属性为bcd的p元素
3).abc .*{ 表示选中选中属性为abc的后代所有元素

.abc .*{    
    color:red;  
}

4)div li{

}表示选中div元素后代元素中的li元素
3). 子元素 —— > 不能是子元素的子元素,只能是子元素

.abc>.bcd{     
    color:red;
} 
  1. 相邻兄弟元素 —— +
.special+li{
    color:#008c8c;
}

5). 后面出现的所有兄弟元素 —— ~

.special~li{
    color:#008c8c;
}

3). 选择器的并列

多个选择器, 用逗号分隔

语法糖

.special~li,p{
    color:#008c8c;
}

回到顶部

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值