初学前端-CSS

在上一篇博客中我们简单介绍了HTML今天这篇博客就是介绍CSS的一起来看

 

目录

什么是CSS

语法

引入方式

1.内部样式

2.外部样式

3.内联样式

 选择器

1.标签选择器

 2.类选择器

3.id选择器

4.通配符选择器

5.后代选择器

6.子选择器

 7.并集选择器

 8.伪类选择器

CSS中常见属性

1)字体相关属性

2)文本属性

 3)背景属性

4)圆角矩形

元素的显示模式

块级元素与行内元素的区别

改变显示模式

盒模型

 边框

边框基本属性

 边框撑大盒子

内边距

外边距

 设置元素水平居中

弹性布局

flex布局概念

常用属性


什么是CSS

CSS称为层叠样式表,css能够对页面中元素位置进行排版达到美化界面的效果,使得页面样式与结构分离

语法

<style>
    p {
        /* 设置字体颜色 */
        color: red;
        /* 设置字体大小 */
        font-size: 30px;
   }
</style>
<p>hello</p>

CSS基本语法规则:先是一个选择器然后大括号,括号中包含一些样式的内容

一个页面中html元素很多选择器就是用来选中要操作的元素,CSS代码需要放到style标签中,HTML没对style标签位置有要求但是我们习惯将style标签放到head标签中,此时style标签中的代码就是CSS的了

 可以看到p标签就是一个标签选择器会将p标签中的元素全都选中,括号中的就是具体的样式值,通过键值对的方式体现的这里的键值对可以有多组键值对之间使用;来分割 键值之间使用:分割

CSS的注释使 /* */ 作为注释. (使用 ctrl + / 快速切换)

引入方式

1.内部样式

使用style标签将CSS标签嵌入到HTML中

2.外部样式

创建一个单独的CSS文件(.css)通过HTLM中的link标签将css文件引入

注意:link标签中的rel属性描述引入文件的类型,href表示文件的路径,这里的内容与img的src类似支持绝对/相对/网络路径 

3.内联样式

直接在元素里面使用style属性将对应的CSS内容写入

 

 内联样式不必要使用选择器直接将样式写入标签中

 选择器

1.标签选择器

只要写标签名那么对应的标签都会选中

 2.类选择器

 .开头的就是类选择器,可以差异化的进行选择

3.id选择器

每一个html标签都可以有一个id属性,id属性的值是唯一的,借助id就可以定位到具体的元素

 #开头就是id选择器,id选择器只能选择唯一元素

4.通配符选择器

 *开头的就是通配符选择器,用来选中页面的所有元素

5.后代选择器

选中某个元素中包含的一行元素

 后代选择器中的两个选择器中必须要有空格,后代选择器中还能选中孙子元素

6.子选择器

子选择器使用>来连接两个部分,只能找到子元素不能选中孙子元素

 7.并集选择器

同时使用多个选择器 选择器之间使用逗号分割

 8.伪类选择器

link 选择未被访问过的链接
visited 选择已经被访问过的链接
hover 选择鼠标指针悬停上的链接
active 选择活动链接 ( 鼠标按下了但是未弹起 )

CSS中常见属性

1)字体相关属性

1.设置字体 font-family

font-family: 'Microsoft YaHei';
注意
字体名称可以用中文 , 但是不建议
多个字体之间使用逗号分隔 ( 从左到右查找字体 , 如果都找不到 , 会使用默认字体  )
如果字体名有空格 , 使用引号包裹
建议使用常见字体 , 否则兼容性不好

2.设置字体大小 font-size

 font-size: 20px;
不同的浏览器默认字号不一样 , 最好给一个明确值,单位是px(像素),chrome默认是16px
3.设置字体粗细 font-weight
font-weight: 700;

注意

可以使用数字表示粗细(100~900)
bold(变粗)==700  normal(正常)==400  lighter(变细)
4.文字样式 font-style
/* 设置倾斜 */
font-style: italic;
/* 取消倾斜 */
font-style: normal;
经常要把 em / i 改成不倾斜   font-style: normal;

2)文本属性

1.文本颜色 使用color来进行设置

color的写法:①直接写单词 ②使用rgb的形式 ③使用十六进制的形式

 

除了rgb表示还有rgba(多了一个alpha)表示透明度 其中透明度用小于一的一位小数表示

 注意

计算机中针对 R, G, B 三个分量 , 分别使用一个字节表示 (8 个比特位 , 表示的范围是 0-255, 十六进制表示 为 00-FF)数值越大, 表示该分量的颜色就越浓 . 255, 255, 255 就表示白色 ; 0, 0, 0 就表示黑色,当使用十六进制表示时当两两相同,就可以使用一个表示 例#ff0000 可以写为#f00

2.文本对齐

控制水平方向对齐 不光能控制文本对齐 , 也能控制图片等元素居中或者靠右
 text-align: center;

取值 center: 居中对齐 left: 左对齐 right: 右对齐

3.文本装饰
text-decoration: none;

取值 underline 下划线 none 啥都没有,可以给 a 标签去掉下划线 overline 上划线 line-through 删除线

4.文本缩进 控制段落的 首行 缩进

text-indent: [];

单位可以使用 px 或者 em
使用 em 作为单位更好, 1 em 就是当前元素的文字大小 .
缩进可以是负的 , 表示往左缩进 . ( 会导致文字就冒出去了 )
5.行高 行高指的是上下文本行之间的基线距离(文字高度+行间距)

 行高就是修改行间距的工具

 line-height: 100px;
行高也可以取 normal 等值, chrome normal 21 px
行高等于元素高度, 就可以实现文字居中对齐

 3)背景属性

1.背景颜色

background-color: [指定颜色];

这里背景颜色的取值与文本颜色的取值方式同理
2.背景图片
background-image : url ( ... );

 3.背景平铺

可以看到背景图片默认是平铺的使用background-repeat: [平铺方式]; 能够修改平铺方式

取值:repeat: 平铺(默认方式)  no-repeat: 不平铺    repeat-x: 水平平铺  repeat-y: 垂直平铺

4.背景位置 

 我们还可以通过 background-position:x y;设置背景图片的位置

参数有三种风格 :
1. 方位名词 : (top, left, right, bottom)
2. 精确单位 : 坐标或者百分比 ( 以左上角为原点 )
3. 混合单位 : 同时包含方位名词和精确单位
注意
如果参数的两个值都是方位名词 , 则前后顺序无关

为了使得背景图片的位置在正中间我们可以使用background-position: center ;

如果只指定了一个方位名词 , 则第二个默认居中
如果参数是精确值 , 则的的第一个肯定是 x , 第二个肯定是 y
如果参数是精确值 , 且只给了一个数值 , 则该数值一定是 x 坐标 , 另一个默认垂直居中
如果参数是混合单位 , 则第一个值一定为 x, 第二个值为 y 坐标
计算机的坐标系一般为 左手系

 5.背景大小

background-size : length | percentage | cover | contain

 注意

可以填具体的数值也可以填百分比: 按照父元素的尺寸设置
cover和contain都会填满背景大小,但是cover会尽可能将图片放大,contain则是会保证背景图完整

4)圆角矩形

border-radius: length;

此处length的大小就是内切圆的半径,数值越大弧线角度越大

元素的显示模式

CSS , HTML 的标签的显示模式有很多,这里我介绍块级元素和行内元素
块级元素:h1-h6,p,div,ul,ol,li....
行内元素:a,span,u,del,i,em....

块级元素与行内元素的区别

1.块级元素独占一行,行内元素不独占一行

2.块级元素的宽度,高度,内外边距,行高都是可控的

   行内元素设置宽度,高度,行高都是无效的,设置内边距都有效,外边距的左右有效,上下无效

3.块级元素默认的宽度是和父元素一样宽的,行内元素则是内容本身(与内部文字宽度有关)

4.块级元素内部元素可以是块级元素也可以是行内元素

    行内元素内部的元素只能是文本或者行内元素,不能是块级元素

我们可以通过display属性来修改元素的显示模式

改变显示模式

使用display属性可以把 div 等变成行内元素, 也可以把 a , span 等变成块级元素
display: block 改成块级元素  
display: inline 改成行内元素  
display: inline - block 改成行内块元素

display: block 改成块级元素  

display: inline - block 改成行内块元素

注意img标签就是行内块元素

盒模型

每一个 HTML 元素就相当于是一个矩形的 " 盒子 "
这个盒子分为4个部分分别为:  内容 content  内边距 padding  边框 border 外边距 margin

 边框

边框基本属性

1.边框粗细:border-width

2.边框样式: border-style, 默认没边框  solid 实线边框 dashed 虚线边框 dotted 点线边框

3.边框颜色:border-color

我们可以分别设置也可以统一一行设置

当然我们还可以分别设置每一边边框的属性

 

 边框撑大盒子

 我们先看上面的图片会发现设置的宽高都为200那么为什么显示的是210呢,问题就出现在了边框上,我们可以通过 box-sizing: border-box 设置为边框不撑大盒子

 更常用通配符选择器来设置

*{
      box-sizing: border-box;
    }

内边距

我们可以使用padding来设置内边距(边框和内容的距离)

 中间浅绿色边框就是设置的内边距,和外边距一样内边距也可以分别设置四边

当上下相同,左右相同时可以写为 padding : 20px 10px;这样的简便写法

写成 padding :20px 10px 20px 10px;这样的方式,注意四个数字时顺序为“上右下左”顺时针的方式来排列的

写成 padding :20px:则四个方向都是20px

注意修改内边距也会撑大盒子,使用border-box 可以使盒子不被撑大

外边距

我们使用margin设置外边距,外边距是指元素与元素直接的距离

 与padding使用方式相同可以一同设置也可以分开设置,要注意两个元素的上下外边距是重合的,也就是两个margin的最大值而不是加和,但是水平外边距却是两个外边距的加和

 设置元素水平居中

关于外边距还有一个特殊用法就是设置元素水平居中

 margin: 0 auto;

设置左右margin为auto,让浏览器自己决定距离

注意垂直方向的水平居中不能直接使用 margin:auto 0 ;来设置

弹性布局

使用弹性布局可以使页面布局更加方便,更符合逻辑

写一些代码感受一下可以看到没使用弹性布局的效果

 我们给div加入一个display:flex;看效果

 我们可以看到加入display:flex;此时div内部的span发生了改变,宽度生效并且高度和父元素相同当然高度也可以手动指定的

我们还可以通过弹性布局更方便的实现居中布局

flex布局概念

 当给一个元素设为display:flex此时子元素就不再遵守原来的“块级元素”“行内元素”的规则了,变成了弹性元素,这些元素将会按照弹性布局的规则进行排列,注意不会对孙子元素产生影响

1.被设置为 display:flex 属性的元素 , 称为 flex container
2.它的所有子元素立刻称为了该容器的成员 , 称为 flex item
3.flex item 可以纵向排列 , 也可以横向排列 , 称为 flex direction ( 主轴 )

常用属性

1.display:flex; 开启弹性布局

 2.justify-content 描述了主轴上的排列规则

 分别介绍一下属性取值

①justify-content:flex-start;  默认就是靠左排列

②justify-content:flex-end; 靠右排列

 ③justify-content:center;居中排列

 ④justify-content:sapce-between; 元素之间有空隙,首尾没有间隙

 ⑤justify-content:space-around; 元素之间和首为都有间隙

3.align-items 描述了侧轴上的排列方式(与主轴垂直的方向) 

介绍属性取值

①stretch 默认值行拉伸和父元素同高

② center 垂直居中

align-items 只能针对单行元素来实现. 如果有多行元素, 就需要使用 item-contents

 ③flex-start 向上/flext-end 向下

 好的以上就是有关CSS相关属性的知识,介绍的比较浅主要为了扫盲,希望对你有帮助,还请点赞评论 蟹蟹!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值