【无标题】第三周预习博客-CSS基础、选择器、盒子模型


前言

本文是在学习了网课之后,自己做的总结,
除了标题上的三类内容,还有其他添加的内容,可能会有错误,望指出。


一、CSS基础

1.CSS简介

1.1HTML的局限性

HTML的目的是描述网页的内容,要美化网页的外观,用HTML会很麻烦,费时费力。

1.2 CSS-网页美容师

CSS 指的是层叠样式表* CSS 描述了如何在屏幕、纸张或其他媒体上显示 HTML 元素 CSS
节省了大量工作,它可以同时控制多张网页的布局

1.3 CSS语法规范

构成:    选择器 {            // 选择器是用于指定CSS样式的HTML标签
               属性;属性值    // 属性和属性值以键值对的形式出现,之间用;隔开,可以有多条属性
          }                  // {} 内是对该对象设置具体的样式
                             // 整体写在 <style></style> 标签里面

1.4 CSS代码风格

1.样式格式书写分为紧凑型和展开型,一般写成展开型
2.样式一般用小写
3.空格规范 :冒号后面留一个空格、选择器和{}中间保留一个空格

2.CSS字体属性

2.1 字体

字体用 font-family 属性定义
如下,给<body>标签设置字体为微软雅黑

  body {
           font-family: "微软雅黑";}

2.2 文字大小

文字大小用 font-size 属性定义
注意大小后要加 px(像素) 如20px,即文字大小为二十像素

body {
          font-size: 20px;}

2.3 文字粗细

文字粗细用 font-weight 属性定义,blod为加粗(也可以写成数值700),normal为不加粗(也可以写成数值400)

 body {
           font-weight: blod;}

2.4 文字样式

文字样式由 font-style 属性定义,normal 表示正常,italic 表示斜体。

body {
          font-style: italic;}   

2.5 简写

可以用一个 font: 属性将字体、大小、粗细、样式一起定义,更加简洁方便。
格式为: font: font-style font-weight font-size/line-height font-family;
注意:简写格式可以省略 font-style 、line-height 和 font-weight 属性,但必须写 font-size 和 font-family 属性,否则 font: 属性将不起作用。

body {
          font: 20px 'Microcoft Yahei';}

3.文本属性

定义文本外观
3.1 颜色

颜色由color属性定义
其中颜色有三种形式:十六进制 (#六位十六进制数)、颜色英文、RGB代码(rgb(0,0,0)形式,括号里三个值分别是red green blue)

color: 颜色值;

3.2 文本居中

由text-align定义
属性值有三种:left,center,right,默认文本向左对齐(left)

text-align: center;

3.3 装饰文本

由 text-decoration 定义
属性值有四种:none表示无,underline表示下划线,line-through表示删除线,overline表示上划线。默认属性为none。

text-decoration: ubderline;

3.4 文本缩进

由text-indent定义
属性值为像素值(如20px)或 2em ,em表示当前元素一个文字的大小

text-indent: 2em; // 首行缩进两个字

3.5 行间距

由line-height定义
行间距=上间距+下间距+文本高

line-height: 20px;

4.CSS引入方式

4.1 内部样式表

控制一个页面,也叫嵌入式
就是把CSS写到HTML里的<style>标签里,理论上<style>可以放到HTML文档任何地方,一般放在<head>标签里。

4.2 行内样式表

控制一个标签
在标签内部写style属性,用于修改简单样式

如: 修改<p>标签里的属性
   <p style="color: pink;"> 修改文字颜色</p>

4.3 外部样式表

控制多个页面
引入外部样式表:
1.新建CSS文件
2.直接写样式(不用写在<style>标签里)
3.用link标签引入文件
<link rel="stylesheet" href="CSS文件路径">

5.Chrome调试工具

5.1 打开

按F12键 或 点击鼠标右键选择检查

5.2 使用

1.Ctrl+滚轮 可以放大代码
2.左边是HTML右边是CSS
3.点击元素,如果右侧没有样式引入,那么就是类名或者央视引入错误,如果有样式但是前面有黄色感叹号提示,则可能是样式属性错误。

二、选择器、CSS三大特性

1.CSS基础选择器

1.1 作用

正确选择要修改样式的部分

1.2 标签选择器

标签名作为选择器 ,如要修改p标签里的内容样式
p { color: red font-size: 20px;}

1.3 类选择器

差异化选择不同的标签
可以给一个标签设置多个类名
口诀: 样式点定义,结构类调用,一个或多个,开发最常用

.类名 { 属性1: 属性值1;   
        属性2: 属性值2;}   //定义类选择器
<p class="类名"> 类选择器的应用</p>  //调用   

1.4 id选择器

口诀:样式#定义,结构id调用,只能用一次,别人切勿用

#id名 {
          属性: 属性值;}
<p id="id名">id选择器</p>          

1.5 通配符选择器

选中页面中的所有标签

* {    属性: 属性值;}

2.CSS的复合选择器

2.1 什么是复合选择器

复合选择器就是基础选择器的组合,有两个或多个基础选择器组成

2.2 后代选择器(包含选择器)

可选择父元素里面的子元素

结构:  元素1 元素2 { 样式声明}  // 元素2是元素1的后代

2.3 子选择器(子元素选择器)

选择作为某元素的最近一级子元素

结构:  元素1>元素2 { 样式声明} 

2.4 并集选择器

选多组标签,同时定义他们的样式
任何形式的选择器都可以作为并集的部分

元素1(选择器1),
元素2(选择器2),
元素3(选择器3) { 样式声明}

2.5 伪类选择器

向某些选择器添加特殊的效果,用表示

2.5.1 链接伪类选择器

a:link 选择未被访问的链接
a:visited 选择已被访问的链接
a:hover 选择鼠标指针位于其上的链接
a:active 选择活动链接
写的时候要按照顺序写 L-V-H-A ,给链接指定样式要单独指定

a {
     color: red;
     text-decoration: none;}
a:hover {
     color: blue;}           //当鼠标指定链接时,链接颜色由红色变为蓝色

2.5.2 focus伪类选择器
选取获得焦点的表单元素并改变其样式

input:focus {  background-color: yellow;}    // 当光标在该表单处时,表单背景色为黄色

3.CSS的三大特性

3.1 层叠性

若给相同的选择器设置了相同的样式,样式会冲突,则后来的样式会覆盖之前冲突的样式
原则:
1.就近原则:哪个样式离结构近就执行那个
2. 样式不冲突就不会覆盖

3.2 继承性

子标签会继承父标签的某些样式,这里的某些样式是指和文字相关的一些样式,如 font- ,text-,line-…
但高和宽的样式不会继承

3.3 优先级

若同一个元素指定多个选择器,就会有优先级产生
若选择器相同,根据就近原则
若选择器不同,根据权重执行

选择器权重
继承 / *0,0,0,0
元素0,0,0,1
类 / 伪类0,0,1,0
id0,1,0,0
行内样式选择器1,0,0,0
!important无穷大

注意:
1.权重由四个数字组成,但不会进位
2.继承的权重是0,如果该元素没有被直接选中,不管父级元素的权重有多高,子元素得到的权重都是0. 看标签会被执行,就看这个标签有没有被直接选中

权重叠加 复合选择器有权重叠加问题,如

ul li { color: red;}   
// 该复合选择器的权重是0,0,0,1+0,0,0,1=0,0,0,2  注意不会进位

三、元素显示模式、背景

1.CSS的元素显示模式

1.1 什么CSS的元素显示模式

元素/标签 以什么方式在页面中显示,分为块元素、行内元素

1.2 块元素

<h1>-<h6> <p> <div>

特点
1.自己独占一行
2.默认宽度是容器/父级的%100
3.高度、宽度、内外边距都可设置
4.是个容器,里面可以放行内或块级元素
注意:文字类标签内不能用块级元素

1.3 行内元素

<a> <strong> <b> <em> <i> <span>

特点:
1.相邻元素在一行上,一行可以显示多个
2.高、宽直接设置是无效的
3.默认宽度是本身内容的宽度
4.只能容纳文本或其他行内元素
注:链接里不可再放链接,a里可以放块级元素(给a转换为块级元素)

1.4 行内块元素

<img/> <input/> <td>

特点:(同时具有块级元素和行内元素的特点)
1.一行可可有多个行内块元素
2.默认宽度是其内容的宽度
3.可以设置宽度和高度

1.5 元素显示模式转换

当一个模式的元素需要另一种模式的特性时,就是需要进行模式转换

转换属性
转换成块级元素display: block;
转换成行内元素display: inline;
转换成行内块元素display: inline-block;

2.CSS的背景

2.1 背景颜色

background-color: tranparent(透明的)/颜色;

2.2 背景图片

可以是logo / 小的装饰性图片 / 超大的图片 ,很便于控制图片位置

background-image: none(没有图片)/ url (图片的路径);

2.3 背景平铺

background-repeat: repeat/no-repeat/repeat-x/repeat-y;
       //默认情况背景图片是平埔repeat的,后面分别是不平铺,延X轴平铺,
       延Y轴平铺

2.4 背景图片位置

background-position: x y;

x y 可以是方位名词 或 精确单位
方位名词有 top /center/ left /right /bottom
1.当参数是方位名词时 和顺序没关系,当只写了一个值,则为x值,默认y值为center
2.单参数是精确单位时 ,有顺序,若只有一个值时,为x坐标,默认y坐标为居中
3.当参数是混合单位时,第一个时x,第二个时y

2.5 背景图像固定(背景附着)

background-attchment: scroll / fixed;
         // scroll(默认)是背景随对象内容滚动,fixed 是背景固定

2.6 背景图片复合写法

background: 颜色 图片 平铺 滚动 位置;// 无顺序

2.7 背景色半透明

只是让背景色透明,但里面的内容不影响

background: rgba(0,0,0,0.3);
  // rgba 里的r是red,g green,b blue,a alpha指透明度 值在0-1之间

四、盒子模型

1.1 组成

元素表示
border边框
content内容
padding内边距
margin外边距

1.2 边框

border-weidth: 粗细px ;边框粗细
border-style: 样式;样式有 none(无边框)solid(实线边框)dashed(虚线边框)dotted(点线边框)等
border-color: 颜色;默认为黑色

边框简写: border: 5px solid pink; //无顺序
边框分开写发(四条边分开):
border-top/bottom/right/left:分别写四条边的样式;

1.3 表格细线边框

合并相邻边框border-collapse: collapse;
边框会影响盒子的实际大小

1.4 内边距

paddng-top/bottom/left/right: 像素值;
内边距的复合写法:
padding: 5px; 指上下左右内边距都是5px
padding: 5px 10px; 指上下5px 左右10px
padding: 5px 10px 20px; 指上5px 左右10px 下20px
padding: 5px 10px 20px 30px; 指上右下左按顺时针方向分别为对应值

内边距也会影响盒子的实际大小

1.5 外边距

margint-left/right/top/nottom
其简写方式与padding完全一致

五 一个案例

简洁小米侧边栏 当鼠标移动到一个链接块内,该块会由灰色变为橘色

<!DOCTYPE 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>
    <style>
        a {
            display: block;
            width: 200px;
            height: 40px;
            font-size: 14px;
            text-decoration: none;
            background-color: #666; 
            padding-left: 30px;
            color: #fff;
            line-height: 40px;
            
        }
        a:hover {
            background-color: #ff6700;
        }
    
    </style>
</head>
<body>
    <a href="#">手机 电话卡</a>
    <a href="#">笔记本 平板</a>
    <a href="#">出行 穿戴</a>
    <a href="#">智能 路由器</a>
    <a href="#">健康 儿童</a>
    <a href="#">电视 盒子</a>
    <a href="#">耳机 音响</a>
</body>
</html>

效果如下图
在这里插入图片描述

总结

由于时间问题盒子模型还没有学习完,也就没有补充完整,
还有一些很有用的案例也没有列出来,后续随着继续学习会把盒子模型相关文图补充全面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值