css快速入门

简介: Cascading Style Sheets 层叠样式表

CSS的概念

Cascading Style Sheets 层叠样式表

层叠:多个样式可以作用在同一个html的元素上,同时生效

CSS的好处

  1. 功能强大
  2. 将内容展示和样式控制分离
    *降低耦合度——解耦
    *让分工协作更容易
    *提高开发效率

CSS的使用:CSS与html结合

一、内部样式

在head标签内,定义style标签,style标签的标签体内容就是CSS代码

<head>

   <metacharset="UTF-8">

   <title>标题</title>

   <style>

       div{

           color: aqua;

       }

   </style>

</head>

<body>

   <div>hello css</div>

</body>

二、外部样式

  1. 定义CSS资源文件
  2. 在head标签内,定义link标签,引入外部的资源文件

<!--    输入标签名或者标签名的一部分,然后按下Tab键,idea自动补全代码-->

   <linkrel="stylesheet"href="css/a.css">

选择器

  • 格式:
    选择器 {
    属性名1:属性值1;
    属性名2:属性值2;
    ……
    }
  • 选择器:筛选具有相似特征的元素
  • 注意点:每一对属性需要使用;隔开,最后一对属性可以不加

一、基本选择器

id建议唯一,class可重复

1.id选择器

选择具体id属性值的元素

语法:#id属性值{}

2.元素选择器

选择具有相同标签名称的元素

语法:标签名称{}

3.类选择器

选择具有相同的class属性值的元素

语法:.class属性值{}

二、扩展选择器

1.选择所有元素

语法:*{}

2.并集选择器

语法:选择器1,选择器2{}

3.子选择器

语法:选择器1 选择器2{}

筛选选择器1元素下的选择器2元素

4.父选择器

语法:选择器1 > 选择器2{}

筛选选择器2的父元素选择器1

5.属性选择器

语法:元素名称[属性名=“属性值”]{}

选择元素名称,属性名=属性值的元素

适用input标签的type属性

6.伪类选择器

选择一些元素具有的状态

语法:元素:状态{}

例如:<a>状态有

link:初始化的状态

visited:被访问过的状态

active:正在访问的状态

hover:鼠标悬浮的状态

     a:link{

       color: #1E9FFF;

     }

属性

1.字体、文本

  • font-size:字体大小
  • color:文本颜色
  • text-align:对齐方式

style="text-align: center;" //文字居中

  • line-height:行高

2.背景

  • background:背景,复合属性

3.边界

  • border:设置边框,复合属性

style="margin: 4px; border-bottom: dotted #ccc;padding: 4px;"

//外边距为4px,下边界为点缀型,颜色#ccc,内边距为4px

4.尺寸

  • width:宽度
  • height:高度

div{

           background: url("image/DominusNoob.jpg") no-repeatcenter;

           border: 1pxredsolid;

           width: 1000px;

           height: 1000px;

       }

描述
auto 默认。浏览器会计算出实际的高度。
length 使用 px、cm 等单位定义高度。
% 基于包含它的块级对象的百分比高度
inherit 规定应该从父元素继承 height 属性的值。

5.盒子模型:控制布局

padding:内边距

  • 内边距会影响整个盒子的大小。因为内容是固定的,修改内边距(内容与边界的距离),等于修改盒子大小
  • box-sizing:border-box;设置盒子的属性,让width和height就是最终盒子的大小

.div1{

           width: 200px;

           height: 200px;

           border: 1pxredsolid;

           padding: 50px;

           box-sizing: border-box;

       }

padding: 8px 16px;  //上下的内边距是8px,左右的内边距是16px

margin:外边距

margin:20px 上下左右外边距都是20px

margin: 10px 0px; //上下10px,左右0px

float:浮动

盒子默认换行,若想让盒子不换行,就添加浮动属性

非盒子模型的标签

经常会发现正常div的属性在a标签上或者p标签上都不管用,这是因为a标签和p标签都不是盒子模型。

例如:

<div style="margin-top:5px;"></div>

这是有效的距离,但是

<a style="margin-top:5px;"></a>

这就是无效的距离

原因很简单,margin是针对盒子的,a标签和p标签都不是盒子模型,但是可以把他们变成盒子模型

style="display:block"

变成块级元素后,就成为盒子模型了,就可以设置margin等属性了。

7. position

position 属性规定应用于元素的定位方法的类型。

有五个不同的位置值:

  • static
  • relative
  • fixed
  • absolute
  • sticky

元素其实是使用 top、bottom、left 和 right 属性定位的。但是,除非首先设置了 position 属性,否则这些属性将不起作用。根据不同的 position 值,它们的工作方式也不同。

注意:

relativeabsolutefixed这三个属性值有一个共同点,都是相对于某个基点的定位,不同之处仅仅在于基点不同。所以,只要理解了它们的基点是什么,就很容易掌握这三个属性值。

这三种定位都不会对其他元素的位置产生影响,因此元素之间可能产生重叠。

static

staticposition属性的默认值。如果省略position属性,浏览器就认为该元素是static定位。

这时,浏览器会按照源码的顺序,决定每个元素的位置,这称为"正常的页面流"(normal flow)。每个块级元素占据自己的区块(block),元素与元素之间不产生重叠,这个位置就是元素的默认位置。

注意,static定位所导致的元素位置,是浏览器自主决定的,所以这时topbottomleftright这四个属性无效。

relative

相对定位

position: relative; 的元素相对于其正常位置定位

relative表示,相对于默认位置(即static时的位置)进行偏移,即定位基点是元素的默认位置。

它必须搭配topbottomleftright这四个属性一起使用,用来指定偏移的方向和距离。

fixed

固定定位

position: fixed; 的元素是相对于窗口定位的(固定的显示在屏幕上),这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。

固定定位的元素不会在页面中通常应放置的位置上留出空隙。

absolute

绝对定位

position: absolute; 的元素相对于 static 定位以外的第一个父元素进行定位

它有一个重要的限制条件:定位基点(一般是父元素)不能是static定位,否则定位基点就会变成整个网页的根元素html。另外,absolute定位也必须搭配topbottomleftright这四个属性一起使用

注意,absolute定位的元素会被"正常页面流"忽略,即在"正常页面流"中,该元素所占空间为零,周边元素不受影响。

style="position: absolute;right: 10px;" //绝对定位,右边距父元素10px

8. z-index

zIndex 属性设置元素的堆叠顺序。

该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远

注意:如果两个定位的元素重叠而未指定 z-index,则位于 HTML 代码中最后的元素将显示在顶部。

style="position: absolute;right: 10px;" //绝对定位,右边只剩下10px

style="position: fixed;width: 100%;z-index: 999;" //固定定位,宽度占窗口100%,

9. display

display 属性设置元素如何显示

描述
none 此元素不会被显示。
block 此元素将显示为块级元素,此元素前后会带有换行符。
inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block 行内块元素。(CSS2.1 新增的值)
list-item 此元素会作为列表显示。
run-in 此元素会根据上下文作为块级元素或内联元素显示。
compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
table 此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。
inline-table 此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。
table-row-group 此元素会作为一个或多个行的分组来显示(类似 <tbody>)。
table-header-group 此元素会作为一个或多个行的分组来显示(类似 <thead>)。
table-footer-group 此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。
table-row 此元素会作为一个表格行显示(类似 <tr>)。
table-column-group 此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。
table-column 此元素会作为一个单元格列显示(类似 <col>
table-cell 此元素会作为一个表格单元格显示(类似 <td><th>
table-caption 此元素会作为一个表格标题显示(类似 <caption>
inherit 规定应该从父元素继承 display 属性的值。


目录
相关文章
|
10天前
|
前端开发
【前端web入门第四天】02 CSS三大特性+背景图
本文详细介绍了CSS的三大特性:继承性、层叠性和优先级,并深入讲解了背景图的相关属性,包括背景属性、背景图的平铺方式、位置设定、缩放、固定以及复合属性。其中,继承性指子元素自动继承父元素的文字控制属性;层叠性指相同属性后定义覆盖前定义,不同属性可叠加;优先级涉及选择器权重,包括行内样式、ID选择器等。背景图部分则通过具体示例展示了如何设置背景图像的位置、大小及固定方式等。
235 91
|
2月前
|
前端开发
|
10天前
|
前端开发
【前端web入门第三天】02 CSS字体和文本
本文详细介绍了CSS中字体和文本的相关属性。字体部分涵盖字体大小、粗细、样式、行高、字体族及`font`复合属性,通过具体示例展示了如何设置和使用这些属性。文本部分则讲解了文本缩进、对齐方式、修饰线及文字颜色等属性,并提供了实用的代码示例。此外,还简要介绍了调试工具中的一些细节,如错误属性标识和属性生效状态的控制。
44 28
|
10天前
|
前端开发 JavaScript
【前端web入门第三天】01 css定义和引入方式 四种标签选择器
本文档详细介绍了CSS的基础知识及其应用。内容涵盖了CSS的定义、CSS在HTML中的引入方式,包括内部样式表、外部样式表及行内样式表的使用场景与方法。此外,还深入解析了不同种类的选择器:标签选择器、类选择器、ID选择器以及通配符选择器的功能与应用场景,并提供了实例帮助理解。最后,通过具体的新属性示例,指导如何使用这些选择器来实现基本的盒子绘制。适合初学者系统学习CSS。
29 15
|
9天前
|
前端开发
|
9天前
|
前端开发
【前端web入门第六天】01 CSS浮动
这是关于CSS布局第六天学习目标的介绍,主要解决多个`&lt;div&gt;`标签在同一行显示的问题,即一个在左边,另一个在右边。文中介绍了标准流、浮动及flex布局的概念,重点推荐使用flex布局。文章详细讲解了浮动的基本使用、布局技巧及清除浮动的方法,包括额外标签法、单伪元素法、双伪元素法和`overflow`隐藏法,并提供了示例代码帮助理解。
|
26天前
|
前端开发
零基础 CSS 入门问题之CSS 代码的一般格式是什么样的
零基础 CSS 入门问题之CSS 代码的一般格式是什么样的
|
29天前
|
前端开发
CSS3入门
【8月更文挑战第23天】CSS3入门。
31 3
|
1月前
|
前端开发 开发者
太惊艳了,这些都是CSS的入门知识!
太惊艳了,这些都是CSS的入门知识!
|
3月前
|
存储 前端开发 编译器
【CSS预处理语言】less快速入门
【CSS预处理语言】less快速入门
40 1