小白Html的学习笔记(二)

一、什么是CSS

CSS 指层叠样式表 (Cascading Style Sheets),在编写网页中,样式是用来让html元素如何显示的,而样式是存在样式表中,作用是为将内容与表现进行分离,使其操作更加清晰。CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。

二、CSS创建

插入样式表的方法有三种:内联样式Inline style、内部样式表Internal style sheet、外部样式表External style sheet

内联样式

因为要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。不推荐使用,例如当样式仅需要在一个元素上应用一次时。要使用内联样式,需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性。

<font style="color: blue;font-size: 50px;font-family: 黑体;">这是一些字体</font>

内部样式表

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

<style>
        span {
           font-size: 65px;color: chartreuse;
       	}
       </style>

外部样式表

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

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

三、CSS选择器

id 和 class 选择器

如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器。

- -id 选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。

- -class 选择器

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示:

四、CSS高级选择器

- -属性选择器
[href]
[href='www.sina.com']
设置链接地址包含 sina 字样的元素。
属性名 *= 'xxxxx'
设置 href 值以 www 打头的链接地址的元素。
[href^='www']
- -通用选择器
* {
font-size:65px; color:green;
}
- -分组选择器
有以下代码:
<div>DIV标签</div>
<span>SPAN标签</span> <br/>
<font>FONT标签</font> <br/>
<p>P标签</p> 
<label>label标签</label> <br/>
需求: 给 span, p, label 设置字体: 35px, 红色。
引入选择器的分组写法, 来实现该功能。
- -派生选择器
有以下代码:
<span>SPAN_1</span> <br/>
<p>
	<span>SPAN_2</span>
	<label>
		<span>SPAN_3</span>
	</label>
</p>
样式需求:
想把 SPAN_2, SPAN_3 设置一个样式:
size:35px, color:blue;
可以使用继承/后代选择器来筛选
在 p 标签包裹之下的所有 span 标签。
- -直接后代选择器
有以下代码:
<span>SPAN_1</span> <br/>
<p>
	<span>SPAN_2</span> <br/>
	<label>
		<span>SPAN_3</span>
	</label> <br/>
	<span>SPAN_4</span>
</p>
样式需求:
想把 "SPAN_2", "SPAN_4" 设置一个样式:
size:35px, color:blue;
p > span 第一级后代 span 元素。

五、CSS-伪类选择器

- -超级链接

可以根据元素的状态来设置样式。

link: 未被访问过。

visited: 已经访问过。

hover: 在鼠标经过时, 会触发。

active: 当鼠标按下时, 松开前的样式。

- -其他

:focus 对象成为输入焦点时的样式

:first-child 对象的第一个子对象的样式

- -伪元素


 

::after

p::after

在每个

元素之后插入内容。

::before

p::before

在每个

元素之前插入内容。

::first-letter

p::first-letter

选择每个

元素的首字母。

::first-line

p::first-line

选择每个

元素的首行。

::selection

p::selection

选择用户选择的元素部分

六、CSS-样式重叠及权重

- -多重样式【执行顺序】

如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。例如,外部样式表拥有针对 h3 选择器的三个属性:

h3
{
    color:red;
    text-align:left;
    font-size:8pt;
}

而内部样式表拥有针对 h3 选择器的两个属性:

h3
{
    text-align:right;
    font-size:20pt;
}

--权重计算方式:

第一等:内联样式,如:权值为1000.

第二等:ID选择器,如:#header,权值为100.

第三等:类、伪类、属性选择器如:.class, 权值为10.

第四等:标签、伪元素选择器,如:div ::first-line 权值为1.

--css样式选择哪个主要就是看权重值,权重值高则先选中,当权重值一样时,则按先后顺序

<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>CSS样式重叠及权重</title>
    <!-- 页面解析是从上到下 -->
    <!-- 外部样式 -->
    <link rel="stylesheet" href="./style.css">
    <!-- 内部样式 -->
    <style>
        h3 {
            background-color: red;
            font-size: 15px;
        }

        /*  权重的叠加  100+10=110  */
        #div1 .h3_class {
            background-color: blue;
            font-size: 65px;
        }

        #h3_1 {
            font-size: 45px;
        }

        /* 权重值10 */
        .h3_class {
            background-color: rgb(13, 216, 30);
        }

        /* 权重值10 */
        .h3_class:hover {
            background-color: rgb(238, 157, 8);
        }

        /* 权重值1 */
        h3:hover {
            background-color: rgb(238, 8, 8);
        }



    </style>
    <!-- 1、外部样式和内部样式看解析顺序 -->
    <!-- 2、权重【优先级】 -->
    <!-- 3、内联样式权重值最高 -->
</head>
<body>
    <!-- style="background-color: green;" -->
    <h3 id="h3_1">这是内容</h3>
    <div id="div1">
        <h3 class="h3_class" >这是div-h3内容</h3>
    </div>
    <h3 class="h3_class">这是内容2</h3>
    <h3 class="h3_class" title="h3_2">这是内容3</h3>
</body>
</html>

七、CSS-字体样式

- -字体样式

font-size:35px;

color:blue;

font-weight:bold; /* normal */

font-family:黑体, 微软雅黑;

font-style:italic;

- -文本样式

text-align:center; 文本居中

text-indent:25px; 文本缩进

text-decoration:underline; 文本装饰

line-height:105px; 设置行高

八、CSS-列表样式

<style>
        div {
            width: 200px;
            background-color: red;
            /* text-align: center; */
            text-indent: 40px;/*文字缩进*/
            text-decoration: underline;/*文字下划线*/
        }

        ul {
            /* disc:实心圆 circle:空心圆 square:实心方块 decimal:阿拉伯数字 none:不使用项目符号  */
            list-style: none;
        }

        /* 针对li设置背景图 */
        #li1 {
            list-style-image: url('./01.jpg');
        }

        #li2 {
            list-style-image: url('./02.jpg');
        }

        #li3 {
            list-style-image: url('./03.jpg');
        }

        #li4 {
            list-style-image: url('./04.jpg');
        }
    </style>
</head>

<body>
    <div>
        这是内容
    </div>

    <!-- 有序和无序列表 -->
    <ul>
        <li id="li1">清风阁</li>
        <li id="li2">烟雨楼</li>
        <li id="li3">望江楼</li>
        <li id="li4">赏月台</li>
    </ul>
</body>

 九、CSS 背景

CSS 背景属性用于定义HTML元素的背景。

CSS 属性定义背景效果:

  • background-color 设置元素的背景颜色。
  • background-image 把图像设置为背景。
  • background-repeat 设置背景图像是否及如何重复。
  • background-attachment 背景图像是否固定或者随着页面的其余部分滚动。
  • background-position 设置背景图像的起始位置。

- -背景颜色

ackground-color 属性定义了元素的背景颜色.

CSS中,颜色值通常以以下方式定义:

  • 十六进制 - 如:"#ff0000"
  • RGB - 如:"rgb(255,0,0)"
  • 颜色名称 - 如:"red"

- -背景图像

background-image 属性描述了元素的背景图像.

默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体.

- -背景图像 - 水平或垂直平铺

默认情况下 background-image 属性会在页面的水平或者垂直方向平铺。

一些图像如果在水平方向与垂直方向平铺,这样看起来很不协调

- -背景图像- 设置定位与不平铺

background-repeat:no-repeat;

background-position:left top; 【左边、顶部】

十、CSS-表格样式

线型:

solid 实心线

dotted 点状线

dashed 虚线

hidden 隐藏

none 不存在

border:5px solid #000;

border-left: 5px solid #000;

border-right: 10px dashed red;

border-top: 10px dotted blue;

十一、CSS-颜色

颜色是由红(RED),绿(GREEN),蓝(BLUE )光线的显示结合。

(1) 使用颜色名。

如: green, yellow ...

(2) 色值表示法 (RGB)

red, green, blue

7E EC 59 (十六进表示)

#7EEC59 (6位十六进)

(3) 如果不想转十六进,

可以用 rgb 函数来表示。

rgb( ??, ??, ?? ); [十进制表示法]

比如:红色

#FF0000 rgb(255,0,0)

十二、CSS 盒子模型(Box Model)

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

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

 

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

不同部分的说明:

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

我们通过在浏览器按F12去参考computed

十三、CSS 定位机制

在页面实现对HTML元素定位

- -static:遵循对象流,不可以被toprightbottomleft这4个定位偏移属性进行偏移

static:

对象遵循常规流。此时4个定位偏移属性不会被应用。

relative:

对象遵循常规流,并且参照自身在常规流中的位置通过toprightbottomleft这4个定位偏移属性进行偏移时不会影响常规流中的任何元素。

absolute:

对象脱离常规流,此时偏移属性参照的是离自身最近的定位祖先元素,如果没有定位的祖先元素,则一直回溯到body元素。盒子的偏移位置不影响常规流中的任何元素,其margin不与其他任何margin折叠。

fixed:

与absolute一致,但偏移定位是以窗口为参考。当出现滚动条时,对象不会随着滚动。

 /* 设置定位 相对定位 静态定位、绝对定位、灵活定位 */             /* relative 会受到方位的影响  遵循常规流的操作(div的空间存在) 相对0,0定位-不会跟着滚动条调整 */             /* static 不会受到方位的影响 */             /* absolute 会受到方位的影响 不遵循常规流的操作(div的空间不存在)*/             /* fixed 会受到方位的影响 不遵循常规流的操作(div的空间不存在)相对窗口定位-可以跟着滚动条调整*/

十四、CSS 元素的浮动

folat 使得元素进行上浮 left right none

上浮会影响原空间(使得原来的空间失效,不计算原空间)

上浮:块级元素变成行内元素

行内元素还是行内元素

元素的上浮也会影响父元素 

涉及元素的延展   父元素会受到子元素的影响  当子元素div2上浮失去原空间,则父元素也失去高度

关于CSS 元素浮动的清除

所谓的清除浮动:

        清除的是由于上浮元素造成的空间失效,clear后使得原来的空间恢复正常

none:

允许两边都可以有浮动对象

both:

不允许有浮动对象

left:

不允许左边有浮动对象

right:

不允许右边有浮动对象

十五、CSS display属性

将某个对象视为什么类型的元素框

隐藏对象:none

块级元素:block

内联元素:inline 【不会受到宽度和高度影响】

行内块:inline-block【会受到宽度和高度影响】

练习:

可以搜索一个小说网站,按F12然后去参考并实现一个属于自己的小说网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值