CSS-1

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 1-CSS初识01-CSS定义英文全名:cascading style sheets 层叠样式表WEB标准中的表现标准语言,简单说就是如何修饰 网页信息 的显示样式。目前推荐遵循的是W3C发布的CSS3.01998年5月21日由w3C正式推出的CSS2.0

CSS-1


1-CSS初识

01-CSS定义

英文全名:cascading style sheets 层叠样式表

WEB标准中的表现标准语言,简单说就是如何修饰 网页信息 的显示样式。

目前推荐遵循的是W3C发布的CSS3.0

1998年5月21日由w3C正式推出的CSS2.0


02-CSS语法

选择器(选择符) { 属性:属性值; 属性:属性值;}

重点注意!! 花括号{}一定要写 、 属性:属性值——当中的冒号是英文输入法下的冒号 、 分号代表一句声明的结束。

选择器(选择符)—— 如果你想将CSS样式应用于 特定的HTML元素 ,首先需要找到 该目标元素 ,在CSS中, 执行这一任务的样式规则部分 被称为选择器,有的地方也会叫选择符。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kIJZzAIe-1642169603946)(D:\LAN\日常笔记\笔记图片\选择器(选择符))]

找到目标元素——第一个段落,执行 文字变黄的样式规则 即(声明)

{ 属性:属性值; 属性:属性值;} —— 属性:属性值;即(声明:声明又分为属性和属性值。)属性:是指想要修饰的样式属性,比如宽度、高度、颜色等;每个属性都有一个值,这个值就是属性值,例如:400px,red等。


03-CSS的引入方式

内部样式、外部样式、行内样式

内部样式:

<head>
<style type="text/css"> —————— 第二步:在head里面书写标签style
                                      (style标签最好写在head里面,type属性可加可不加)
  p{
   color:red;  /* color设置字体颜色 */ —————— CSS中的注释格式
     font-size:30px; /* font-size 设置文字大小 */
                     /* 在书写CSS的时候,如果没有特殊规定,数值必须带单位 px 像素 */
  }     
  div{
      font-size:80px;
      color:orange;
  }
</head>
<body>
  <p>我是第一个段落</p> —————— 第一步:在HTML结构中创建对象元素
  <p>我是第二个段落</p> —————— 结构创建对象  <!-- HTML中的注释格式 -->
  <div>我是尾部</div>  —————— 结构创建对像
  <div>我是底部</div>  —————— 结构创建对象
</body>
————————————————
版权声明:本文为CSDN博主「橘 日向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Charlotte_99/article/details/122503382

外部样式:

<body>
    <!--1/创建想要修饰的对象 -->
    <div>看最美风景</div>
    <div>我都愿意去爱你</div>
    <p>嫌弃</p>
    <p>期待没发生的事情到来</p>
</body>

第二步:建立外部CSS文件

/*  在CSS文件中,不再需要style标签了 */
div{
  color:blue;
  font-size:0.625rem  
}
p{
  color:red;
  font-size:0.9375rem 
}

第三步:建立两者关联

<!-- 方式1、用link链接  rel-relation定义关联性 stylesheet 样式表  type可写可不写  重点掌握方法一-->
<link rel="stylesheet" href="02CSS外部样式.css"  type="text/css"/> 
<!-- 方式2、用import导入 -->
<style>
  @import url('02CSS外部样式.css')
</style>

行内样式、内联样式、嵌入式样式

<!-- 行内样式、嵌入式样式、内联样式 -->
<!-- 1、先创建想要修饰的对象 -->
<!-- 2、在标签内部书写style属性-->
    <div style="font-size:30px;color:green;">你就这样拥抱着我</div>
    <div style="font-size:40px; color:red;">抱着我,抱着我</div>
    <div style="font-size:50px;color:pink;">悠着点,别太入戏</div>
<!-- 行内样式知道有就行了,仅作了解,避免大面积去书写-->
<!-- 缺点:会造成很乱的页面结构,修改的时候比较麻烦-->


04-CSS样式表的使用场景:

1、内部样式:适合案例或者短小的页面开发

2、外部样式:适合整站或者比较长的页面开发

3、行内样式:几乎不用

CSS解析规则:

如果对同一个标签同时使用了3种样式表:

1、同时使用内部、外部、行内样式表修饰同一个标签的时候,优先级别最高的是行内样式表。

2、当外部和内部样式表同时使用的时候,解析规则遵循就近原则,哪个CSS样式距离标签近就最终显示哪个样式。


2-CSS选择器

01-选择器的分类

基本选择器、层次选择器、伪类选择器、属性选择器、伪对象选择器

大类还有很多个小类,总计20多个选择器

02-基本选择器

包括类型选择器、Class选择器、id选择器、通配符、群组选择器


<div>美羊羊</div>
<div>懒羊羊</div>
<div>沸羊羊</div>
<div>慢羊羊</div>
<p>红太狼</p>
<p>灰太狼</p>
<p>小灰灰</p>
<p>小灰灰媳妇</p>

需求1:所有的div ,文字大小是20,字体颜色是红色

需求2:所有的p , 文字大小是30,字体颜色是橘色

需求3:慢羊羊变成绿色 沸羊羊变成蓝色

1、类型选择器(标签选择器)

以HTML中的标签作为选择符

A、什么时候用?

想改变某个元素的默认样式时或者统一文档某个元素的显示效果时

<!--这类选择器使用的时候能达到所有的长成我们想要的样式,但是达不到区分的效果-->

B、语法?

标签{  属性:属性值;   }    例如: div{   color:red;   }
满足需求1和2:
<head>
<style>
  div{
    font-size:20px;
    color:red;
}
  p{
    font-size:30px;
    color:orange;
  }
</style>
</head>
<body>
  <div>美羊羊</div>
  <div>懒羊羊</div>
  <div>沸羊羊</div>
  <div>慢羊羊</div>
  <p>红太狼</p>
  <p>灰太狼</p>
  <p>小灰灰</p>
  <p>小灰灰媳妇</p>
</body>


2、Class选择器(类选择器)

A、什么时候用?

想要区分某个或者某些标签的时候,比如想要区分两个div; 开发的时候用

<!--class可以给多个属性值,多个属性值之间用空格隔开。 -->
写在HTML标签内部
例如:<div class="box yang yanglan "></div>

B、语法?

.Class名字{  属性:属性值; }   例如: .box{  color:green; }
<!-- Class属性值的注意点:
1、不能是纯数字开头
2、不建议使用中文,因为容易造成乱码
3、如果需要符号配合,可以使用-或_,其他符号不可以@¥%
4、建议命名的时候,采用语义化命名
box-盒子 head-头部 foot-尾部
-->
满足需求3:
<head>
   <style>
       .fyy{
           color:blue;
       }
       .myy{
           color:green;
       }
    </style> 
</head>
<body>
  <div>美羊羊</div>
  <div>懒羊羊</div>
  <div class="fyy yy ">沸羊羊</div>
  <div class="myy yyy" >慢羊羊</div>
  <p>红太狼</p>
  <p>灰太狼</p>
  <p>小灰灰</p>
  <p>小灰灰媳妇</p>
</body>

3、Id选择器

A、什么时候用?

想要区分某个或者某些标签的时候,比如想要区分两个div; JS交互的时候用

<!--注意点:ID有唯一性,属性值只能是1个-->
id写在HTML标签里
<div id="box"></div>

B、语法?

#id名字{ 属性:属性值; }   例如: #box{ color:blue;}
<head>
   <style>
       #fyy{
           color:blue;
           font-size:30px;
       }
       #myy{
           color:green;
           fontsize:50px;
       }
    </style>
</head>
<body>
  <div>美羊羊</div>
  <div>懒羊羊</div>
  <div id="fyy">沸羊羊</div>
  <div id="myy">慢羊羊</div>
  <p>红太狼</p>
  <p>灰太狼</p>
  <p>小灰灰</p>
  <p>小灰灰媳妇</p>
</body>

4、通配符

A、什么时候用?

想让所有的标签同时改变样式的时候

B、语法?

*{ 属性:属性值; } 例如: *{ color:red; }
<head>
   <style>
*{
    color:yellow;
}
    </style>
</head>
<body>
  <div>美羊羊</div>
  <div>懒羊羊</div>
  <div>沸羊羊</div>
  <div>慢羊羊</div>
  <p>红太狼</p>
  <p>灰太狼</p>
  <p>小灰灰</p>
  <p>小灰灰媳妇</p>
</body>

5、群组选择器

A、什么时候用?

当几个元素样式一样的时候。可以共同调用一个声明,元素之间用逗号分隔

B、语法?

选择器1,选择器2,选择器3{ 属性:属性值; }   例如: .box,#xyy,p{ color:red; }
<head>
   <style>
div,.htl,#xhh{
    color:red;
}
    </style>
</head>
<body>
  <div>美羊羊</div>
  <div>懒羊羊</div>
  <div>沸羊羊</div>
  <div>慢羊羊</div>
  <p class="htl,tl">红太狼</p>
  <p>灰太狼</p>
  <p id="xhh">小灰灰</p>
  <p>小灰灰媳妇</p>
</body>

CSS权重(特殊性)

A、什么是权重?

权重类似人的体重,是用来衡量CSS代码优先级的一个参考值,权重值越大,代表优先级越高,权重值越小,优先级越低。

B、表达方式?

CSS中用四位数字表示权重,权重的表达方式如:0,0,0,0 ——默认为四个0

image.png

案例模拟敲写代码——搭建页面布局

每一部分的页面 居中位置叫做版心(安全区)


03-层次选择器

1、后代选择器(也叫 包含选择器)

语法: 选择符1(空格)选择符2 {  属性:属性值; }  /*选择符个数无限制*/
书名:含义就是选择符1 中包含的所有 后代选择符2;
<div class="third">
  <div class="third-center">
    <ul>
      <li class="third-nav"><a href="#">导航1</a></li>
      <li class="third-nav"><a href="#">导航1</a></li>
      <li class="third-nav"><a href="#">导航1</a></li>
      <li class="third-nav"><a href="#">导航1</a></li>    
    </ul>
需求:选择到所有的li
1 .third li{}
2 .third .third-center ul li{}
3 .third-center li{}
4 .third .third-center  li{}
5 ul li{}
这五种都可以

2、子选择器

3、相邻兄弟选择器

4、通用兄弟选择器

3-CSS属性

float浮动属性

页面布局:页面布局的时候使用的div盒子经常都是竖着排列的,但是有时候也需要横向排列,想要 竖着排列的盒子横着过去就需要用到浮动

浮动属性:float 
属性值:left 从左往右边开始浮动、 right 从右边往左开始浮动、 none 默认值,不浮动
正常文档流:竖向排列,独占一行
/* 一个盒子给了浮动之后,该盒子会悬空不占位置,这个现象叫脱离网页文档流,浮动之后的盒子与其他不浮动的元素会发生重叠;但是不会与文字发生重叠,文字会环绕浮动元素显示。*/
当一个元素不再在文档流中占据空间,而是漂浮在文档流的上方的时候,这个现象叫做脱离文档流。
浮动会脱离网页文档,与其他不浮动的元素发生重叠;但是不会与文字发生重叠,文字会环绕浮动元素显示。
文字环绕效果,网页开发中比较少见。

实践知识点:

margin- 外间距 padding- 内间距

整个网页书写结构完毕后发现最上面有个外间距 是body标签的


margin属性

页面中间距设置:用margin或者padding

间距是在盒子外面的时候,就用margin;间距是在盒子里面的时候,就用padding

外间距:

margin-外间距
使用场景:页面中需要设置间距,且间距对于容器来说是外面的时候用
用法:
单独设置
   margin-top 外上间距  margin-bottom 外下间距  margin-left 外左间距 
   margin-right 外右间距
简写
   margin:10px 20px 30px 40px;  上 右 下 左
   margin:10px 30px 10px; 上 左右 下
   margin:20px 40px; 上下 左右
   margin:20px; 四个方向
另外一种用法:
   margin:auto; /* 一个有宽度的元素在浏览器中横向居中 */
/* margin属性值是auto的时候,暂时只支持左右间距自动调整,上下不支持 */
版心居中,可以用margin:auto;实现
   margin的属性值可以给负数
   margin-left: 100px; 
/* 当给了margin-left后,该盒子是在原来的位置基础上向右移动了100px*/
   margin-left:-100px;
/* margin支持负数,给负数的结果,就是在正数的基础上,反向进行位置移动,现在盒子是向左移动了100px  */

margin遇见的问题:

margin-top的传递问题

现象:默认情况下给子元素添加了margin-top之后,浏览器解析的时候,会把这个上间距也传递给父元素,导致父元素也会下来。

解决方法:A、给最近的父元素添加border-top
         B、给父元素添加overflow:hidden;(溢出隐藏)
.box1 {
  background-color: red;
  /* border-top:1px solid transparent; */  方法一
  /* border-top上边框 solid实线  transparent透明色 */
  overflow: hidden;     方法二
}
.box1-center {
  background-color: purple;
  height: 100px;
  width: 100px;
  margin-top: 100px;
}
<div class="box1">
  <div class="box1-center">我是小盒子</div>
</div>

margin外间距重叠问题

现象:默认的情况下,两个相邻的盒子,给一个盒子添加了margin-top。另外一个盒子添加margin-bottom之后,这两个垂直的间距会重叠,显示最大数值的间距。

解决办法:A、给下面的盒子添加父元素。且添加声明overflow:hidden(溢出隐藏)
.box3 {
  background-color: yellow;
  margin-bottom: 100px;
}
.bos {
  overflow: hidden;
}
.box4 {
  background-color: green;
  margin-top: 50px;
}
<div class="box3">111</div>
<div class="bos">
  <div class="box4">111</div>
</div>


padding属性

内间距

padding-内间距/填充/补白
使用场景:页面中需要设置间距,且间距对于容器来说是里面的时候用
用法:
单独设置
padding-top 内上间距 padding-bottom 内下间距 
padding-left 内左间距 padding-right 内右间距
简写
padding:10px 20px 30px 40px;  上 右 下 左
padding:10px 30px 10px; 上 左右 下
padding:20px 40px; 上下 左右
padding:20px; 四个方向
Padiing没有auto和负数的写法
注意点:padding是添加在盒子大小之上的,所以会把盒子给撑大
解决方法:从宽度或者高度上减去添加的padding值


4-控制台差错

书写的css代码没有显示

1、基础性错误导致

单词写错或者单位没带—浏览器控制台有黄色报错

image.png

冒号没有写或者写错—黄色报错,但是后面会有多余的符号补充

image.png

分号没有结尾—黄色报错,同时后面的代码也会一起报错

image.png

{}前出错,在控制台上看不到写过的CSS代码

css语法不对,带的点没有带或者写成了#

css语法不对,名字不一致,下面写的box,上面写成了box1

{}少了},那么控制台上会有很多报错

image.png

2、因为权重导致的

权重是否相同,如果是权重造成的代码不显示,控制台是没有黄色报错,只有代码被划掉

权重相同,跟css代码的书写顺序有关,谁的代码距离html代码近就解析谁(就近原则)

权重不同,高权重覆盖低权重的css样式


5-css文本相关属性

image.png

image.png

属性               
/* font-size-字体大小 */  
  单位可以是px,pt,em等 3pt=4px 1em=16px  浏览器默认是16px,设计 图常用字号是12px  
/* color-颜色  */
  color:red;  color:#ff0;  color:rgb(255,0,0) rgba(255,0,0,1)
  r - red红色  g - green绿色  b - blue蓝色 rgb取值范围是0-255   alpha - 透明程度 取值是0-1  0全透明 1不透明 
/* font-family-字体 */  
  当字体是中文字体,英文字体中有空格是,需加双引号;多个字体中间用逗号链接,先解析第一个字体,如果没有解析第二个字体,以此类推  
/* font-weight-加粗 */  
  font-weight:bolder(更粗的)/bold(加粗)/normal(常规)  font-weight:100-900; 100-500不加粗  600-900加粗  数字不加单位,不为小数  
/* font-style-倾斜  */ 
  font-style:italic(斜体字)/oblique(倾斜的文字)/normal(常规显示)  
/* text-align-文本水平对齐  */ 
  text-align:left; 水平靠左  text-align:right; 水平靠右         text-align:center; 水平居中  text-align:justify; 水平两端对齐,只对多行起作用 text-align-last:justify; 单行文本两端对齐
/* line-height行高 */
  行高指的是2行文字基线到基线、顶线到顶线、中线和中线之间的垂直距离
也是字号大小+上间距+下间距的距离,这里的上间距、下间距就是半行间距。
line-height的数据<height的数据,可以实现单行的文本垂直靠上对齐
line-height的数据=height的数据,可以实现单行的文本垂直居中
line-height的数据>height的数据,可以实现单行的文本垂直靠下对齐
当line-height:1; 是字号大小的1倍  不带单位的时候
当line-height:100%; 是字号大小的1倍  单位是%的时候
/*当line-height:1;和line-height:100%;可以清除文字自带的垂直间距*/
/* font文字简写 */
font是font-style font-weight font-size / line-height font-family的简写。
font:italic bold 50px/50px "宋体";
顺序不能改变,必须同时指定font-size 和 font-family属性时才起作用
/* text-decoration文本修饰*/
text-decoration:none没有/underline下划线/overline上划线/line-through删除线;
/* text-indent首行缩进*/
text-indent可以取负值; text-indent属性只对第一起作用
去除列表符号样式的css属性
list-style:none;
有超链接a 就要给它做CSS属性字体颜色
————————————————
版权声明:本文为CSDN博主「橘 日向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Charlotte_99/article/details/122503382

行高示意图:

image.png

半行间距示意图

image.png


6-css列表属性

/* list-style-type 定义列表符号样式*/
  list-style-type:disco(实心圆)/circle(空心圆)/square(实心方块)/none(去掉符号);
/* list-style-image 将图片设置为列表符号样式*/
  缺点:能显示小图片,但是大小和位置调整不了
  list-style-image:url(图片的路径);
  可以用:background(背景)
  background:url(1.jpg) no-repeat(不要平铺) left(水平靠左)center(垂直居中);
/* list-style-position 设置列表项标记的放置位置*/
  list-style-position:outside;列表li的外面 默认值
  list-style-position:inside;列表li的里面
/* list-style 简写以上属性,顺序可乱,之间用空格隔开*/
list-style:inside url(2.jpg);
list-style:inside square;

7-css边框属性

/* border-width 设置边框的宽度*/
/* border-color 设置边框的颜色*/
/* border-style 设置边框的线形*/
  border-style:solid(实线)/dashed(虚线)/double(双线)/dotted(点状线);
/* border 简写以上属性,顺序可乱,之间用空格隔开*/
  单边框 border-top border-bottom border-left border-right
/* 单边框也可以简写以上属性,规则同border */
/* 边框书写三角形:注意每行代码书写的顺序不能变!*/
  .box10{   /* 对的顺序*/
    border:10px transparent solid;
    border-top:10px red solid;
    width:0;
    height:0;
  }
  .box9{   /* 顺序错了 显示不出来三角形 */
    border-top:10px red solid;
         border:10px transparent solid;
    width:0;
    height:0;
  }
————————————————
版权声明:本文为CSDN博主「橘 日向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Charlotte_99/article/details/122503382

8-css背景相关属性

/* background-color 背景颜色*/
  background-color:red;
/* background-image 背景图片*/
  background-image:url();背景图片不占位置且是平铺显示的
/* background-repeat 背景图片的平铺*/
  background-repeat:no-repeat/repeat/repeat-x(横向平铺)/repeat-y(纵向平铺);
/* background-position 背景图片的定位*/
    background-position:水平位置 垂直位置;可以给负值(轴坐标)    水平位置:left、right、center 垂直位置:top、center、bottom
/* background-attachment 背景图片的固定*/
  background-attachment:scroll(滚动)/fixed(固定,固定在浏览器窗口里面,显示范围为容器;固定之后就相对于浏览器窗口了)
/* background简写以上属性,顺序随便*/
————————————————
版权声明:本文为CSDN博主「橘 日向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Charlotte_99/article/details/122503382
相关文章
|
前端开发 JavaScript Java
CSS Transitions(二)
CSS Transitions(二)
|
Web App开发 前端开发 图形学
CSS 20大酷刑(一)
CSS 20大酷刑(一)
|
前端开发 安全 容器
CSS(2)
在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。 复合选择器可以更准确、更高效的选择目标元素(标签)。 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。 常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等。
59 1
|
前端开发
CSS内嵌式
CSS内嵌式
66 0
|
前端开发 容器
你需要知道的 CSS 技巧
你需要知道的 CSS 技巧
|
前端开发 JavaScript 容器
css知识总结
css知识总结
150 0
css知识总结
|
前端开发
Css大致了解
style(样式属性关键字) 可以设置所有参数标签样式 ";"里面可以配置多个属性配置一个就用分号隔开 可以在网上查找Css样式属性大全 用背景颜色举例:style 可以写在p标记中来选择样式 有3种选择方式 1:直接写在标签之中 <p style="background: #...
455 0
|
前端开发 JavaScript
|
前端开发