学习css,这一篇足矣(三)

简介: 学习css,这一篇足矣

浮动与定位

Display

display 可以修改元素的类型,让块级元素和内联元素相互转换



元素隐藏属性对比



文档流

文档流是文档中可显示对象在排列时所占用的位置/空间 例如:块元素自上而下摆放,内联元素,从左到右摆放 标准流里面的限制非常多,导致很多页面效果无法实现


1 高矮不齐,底边对齐


2 空白折叠现象


1 无论多少个空格、换行、tab,都会折叠为一个空格


2 如果我们想让img标签之间没有空隙,必须紧密连接 文档流产生的问题 高矮不齐,底边对齐


脱离文档流


使⼀个元素脱离标准文档流有三种方式


1 浮动


2 绝对定位


3 固定定位


浮动

浮动的定义 float 属性定义元素在哪个方向浮动,任何元素都可以浮动。



浮动的原理


1 浮动以后使元素脱离了文档流


2 浮动只有左右浮动,没有上下浮动


清除浮动

浮动副作用


当元素设置float浮动后,该元素就会脱离文档流并向左/向右浮动,


1 浮动元素会造成父元素高度塌陷


2 后续元素会受到影响


清除浮动


当父元素出现塌陷的时候,对布局是不利的,所以我们必须清除副 作用


解决方案有很多种


1 父元素设置高度


2 受影响的元素增加clear属性


3 overflow清除浮动


4 伪对象方式


父元素设置高度


如果父元素高度塌陷,可以给父元素设置高度,撑开元素本身大小


受影响的元素增加clear属性


如果同级元素受到影响,直接给收到影响的元素增加 clear 属性



overflow清除浮动


如果有父级塌陷,并且同级元素也收到了影响,可以使用 overflow 清 除浮动


这种情况下,父布局不能设置高度 父级标签的样式里面加: overflow:hidden;


伪对象方式


如果有父级塌陷,并且同级元素也收到了影响,还可以使用伪对象 方式处理 为父标签添加伪类 after ,设置空的内容,并且使用 clear:both ;这种情况下,父布局不能设置高度


定位

定义


position 属性指定了元素的定位类型



其中,绝对定位和固定定位会脱离文档流 设置定位之后:可以使用四个方向值进行调整位置: left、top、right、 bottom


温馨提示


设置定位之后,相对定位和绝对定位他是相对于具有定位的父 级元素进行位置调整,如果父级元素不存在定位,则继续向上 逐级寻找,直到顶层文档


Z-index

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处 于堆叠顺序较低的元素的前面


CSS3新特性

圆角

使用 CSS3 border-radius 属性,你可以给任何元素制作 "圆角"


border-radius 属性,可以使用以下规则:


1 四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角


2 三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角


3 两个值: 第一个值为左上角与右下角,第二个值为右上角与左下角


4 一个值: 四个圆角值相同


阴影

box-shadow 向框添加一个或多个阴影。


box-shadow: h-shadow v-shadow blur spread color inset;


字阴影

text-shadow 属性向文本设置阴影

text-shadow: h-shadow v-shadow blur color;


背景渐变

CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显 示平稳的过渡。


为了创建一个渐变,你必须至少定义两种颜色结点。颜色结点即你 想要呈现平稳过渡的颜色。同时,你也可以设置一个起点和一个方 向(或一个角度)


background: linear-gradient(direction, colorstop1, color-stop2, ...);

从上到下(默认情况下)

<div class="box"></div>
.box {
    width: 300px;
    height: 300px;
    background: linear-gradient(red, blue);
}

从左到右


<div class="box"></div>
.box {
    width: 300px;
    height: 300px;
    background:linear-gradient(to right, red
, blue);
}

对角


你可以通过指定水平和垂直的起始位置来制作一个对角渐变

.box {
    width: 300px;
    height: 300px;
    background: linear-gradient(to bottom
right, red , blue);
}

使用角度


如果你想要在渐变的方向上做更多的控制,你可以定义一个角度, 而不用预定义方向(to bottom、to top、to right、to left、to bottom right,等等)

background: linear-gradient(angle, colorstop1, color-stop2);

角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话 说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到 右的渐变


.box {
    width: 300px;
    height: 300px;
    background: linear-gradient(100deg, red,
blue);
}

图片上面定位文字,实现渐变

background: lineargradient(120deg,#ff3149,#ff64a6);

转换

转换的效果是让某个元素改变形状,大小和位置


transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进 行旋转、缩放、移动或倾斜



transform: none|transform-functions;

translate方法


translate() 方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素 位置移动


<div class="box"></div>
.box {
    width: 100px;
    height: 80px;
    background-color: rgba(255, 0, 0, .8);
    transform: translate(50px, 100px);
}

rotate方法


rotate() 方法,在一个给定度数顺时针旋转的元素。负值是允许的,这 样是元素逆时针旋转。


<div class="box"></div>
.box {
    width: 100px;
    height: 80px;
    background-color: rgba(255, 0, 0, .8);
    transform: rotate(30deg);
}

scale方法


scale() 方法,该元素增加或减少的大小,取决于宽度(X轴)和高度 (Y轴)的参数



<div class="box"></div>
.box {
    width: 100px;
    height: 80px;
    background-color: rgba(255, 0, 0, .8);
    transform: scale(2,3);
}

skew方法


skew() 包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个 参数为空,则默认为0,参数为负表示向相反方向倾斜


<div class="box"></div>
.box {
    width: 100px;
    height: 80px;
    background-color: rgba(255, 0, 0, .8);
    transform: skew(30deg,20deg);
}

3D转换

CSS3 允许您使用 3D 转换来对元素进行格式化


1 rotateX()


2 rotateY()


rotateX方法


rotateX() 方法,围绕其在一个给定度数X轴旋转的元素

<div class="box">文本查看信息</div>
.box {
    width: 100px;
    height: 80px;
    background-color: rgba(255, 0, 0, .8);
    transform: rotateX(120deg);
}

rotateY方法


rotateY() 方法,围绕其在一个给定度数Y轴旋转的元素


<div class="box">文本查看信息</div>
.box {
    width: 100px;
    height: 80px;
    background-color: rgba(255, 0, 0, .8);
    transform: rotateY(120deg);
}

过渡

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果


通过过渡 transition ,可以让web前端开发人员不需要 javascript 就可以实 现简单的动画交互效果


.box {
    width: 100px;
    height: 80px;
    background-color: rgba(255, 0, 0, .8);
    transition: width 2s ease 1s;
}
.box:hover{
    width: 500px;
}

动画

动画是使元素从一种样式逐渐变化为另一种样式的效果 您可以改变任意多的样式任意多的次数 20 请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等 同于 0% 和 100% 0% 是动画的开始,100% 是动画的完成。


@keyframes创建动画


使用 @keyframes 规则,你可以创建动画


@keyframes name {
    from|0%{
   css样式
   }
    percent{
   css样式
   }
    to|100%{
   css样式
   }
}

name:动画名称,开发人员自己命名;


percent:为百分比值,可以添加多个百分比值;


animation执行动画


animation: name duration timing-function delay iteration-count direction;


绘制特殊图形

绘制三角形


制作三角型使用的是border属性,内容区宽高值为0


.box {
    width: 0;
    height: 0;
    border-top: 50px solid red;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-bottom: 50px solid blue;
}

绘制梯形


绘制三角型时宽和高都是0像素,给它加100的宽度看看效果

.box {
    width: 100px;
    height: 0;
    border-bottom: 80px solid red;
    border-left: 50px solid green;
    border-right: 50px solid yellow;
}

媒体查询

媒体查询能使页面在不同在终端设备下达到不同的效果


媒体查询会根据设备的大小自动识别加载不同的样式


设置meta标签


使用设备的宽度作为视图宽度并禁止初始的缩放。在标签里 加入这个meta标签。


<meta name="viewport" content="width=devicewidth, initial-scale=1,maximum-scale=1, userscalable=no">

参数解释


1 width = device-width 宽度等于当前设备的宽度


2 initial-scale 初始的缩放比例(默认设置为1.0)


3 maximum-scale 允许用户缩放到的最大比例(默认设置为1.0)


4 user-scalable 用户是否可以手动缩放(默认设置为no)


响应式布局

一说到响应式设计,肯定离不开媒体查询media


响应式布局意在实现不同屏幕分辨率的终端上浏览网页的不同展示 方式


响应式布局的优缺点


优点


1 面对不同分辨率设备灵活性强


2 能够快捷解决多设备显示适应问题


缺点


1 兼容各种设备工作量大,效率低下


2 代码累赘,会出现隐藏无用的元素,加载时间加长


栅格系统

栅格系统是媒体查询的具体实现


栅格系统将页面自动分为12个格子,可以根据不同的类前缀实现不 同的页面布局



多列

CSS3 可以将文本内容设计成像报纸一样的多列布局



创建多列


column-count 属性指定了需要分割的列数

div {
 column-count: 3;
}

列与列之间的间隙


column-gap 属性指定了列与列间的间隙

div {
 column-gap: 40px;
}

列边框


column-rule-style 属性指定了列与列间的边框样式

div {
 column-rule-style: solid;
}

column-rule-width 属性指定了两列的边框厚度

div {
 column-rule-width: 1px;
}

column-rule-color 属性指定了两列的边框颜色

div {
 column-rule-color: lightblue;
}

column-rule 属性是 column-rule-* 所有属性的简写


div {
 column-rule: 1px solid lightblue;
}

CSS应用技巧

雪碧图


CSS Sprite也叫CSS精灵图、CSS雪碧图,是一种网页图片应用处理 方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大 图中去


优点


1 减少图片的字节


2 减少网页的http请求,从而大大的提高页面的性能


原理


1 通过background-image引入背景图片


2 通过background-position把背景图片移动到自己需要的位置


字体图标


我们会经常用到一些图标。但是我们在使用这些图标时,往往会遇 到失真的情况,而且图片数量很多的话,页面加载就越慢。所以, 我们可以使用字体图标的方式来显示图标,既解决了失真的问题, 也解决了图片占用资源的问题


常用字体图标库:阿里字体图标库


优点


1 轻量性:加载速度快,减少http请求


2 灵活性:可以利用CSS设置大小颜色等


3 兼容性:网页字体支持所有现代浏览器,包括IE低版本


使用字体图标


1 注册账号并登录


2 选取图标或搜索图标


3 添加购物车


4 下载代码


5 选择 font-class 引用


滑动门


大家在网页中经常会见到这样一种导航效果,因为使用频率广泛,所以 广大的程序员给它起了一个名字,叫做滑动门.在学习滑动门之前,首 先你要了解什么是滑动门


以上就是CSS所有常见知识点了,整理不易,希望对学习CSS的小伙伴有所帮助!


目录
相关文章
|
4月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
279 0
|
4月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
245 1
|
5月前
|
前端开发 JavaScript
HTML/CSS/JavaScript基础学习day03-作业
本教程通过多个实例讲解JavaScript中for循环的常见用法,包括遍历数组、元素加1、求最大值/最小值、计算平均值、过滤偶数及字符串拼接等操作,并附有代码示例和运行结果图。
82 3
|
5月前
|
前端开发 JavaScript 算法
HTML/CSS/JavaScript基础学习day03-作业
本内容包含多个 JavaScript 编程示例,涵盖数组遍历、条件筛选、字符串处理、数值计算等常见操作,适合练习基础算法与逻辑思维。
142 5
|
5月前
|
前端开发 JavaScript
HTML/CSS/JavaScript基础学习day02-作业
本教程介绍了JavaScript基础编程练习,包括使用for循环打印数字、判断奇偶数、计算总和以及用if语句判断正数的方法。每部分均配有示例代码和运行结果图,帮助初学者理解循环与条件判断的应用。最后通过思维导图回顾所学内容,强化知识点记忆。
102 2
|
5月前
|
前端开发 JavaScript 索引
HTML/CSS/JavaScript基础学习day04
阿铭学习JavaScript函数与对象的基础知识,包括函数定义、调用方式及参数使用,以及Array和String对象的常用操作。
123 0
|
5月前
|
JavaScript 前端开发 Java
HTML/CSS/JavaScript基础学习day03
本内容为阿铭学习JavaScript的第三天笔记,涵盖JavaScript基础概念、引入方式、基础语法、变量声明、数据类型、运算符、类型转换及流程控制语句等内容,适合初学者了解JavaScript编程语言的核心知识点。
121 0
|
Web App开发 前端开发
CSS入门级学习
css入门学习1:认识CSS  1.1:css简介,css全称是层叠样式表,Cascading style sheets   1.2:css的作用,主要是用于定义html内容在浏览器内的显示样式,如文字大小,颜色,字体加粗等     使用css样式的一个好处是通过定义某个样式,可以让不同的网页位置的字体有着统一的字体,字号或者颜色等   1.
1394 0
|
Web App开发 前端开发
CSS入门学习
    一,What?        CSS的全称是CascadingStyle Sheet,汉语意思是“级联样式表”,通常又称为“风格样式表(StyleSheet)”,它是用来进行网页风格设计的。
1051 0
|
8月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    358
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    279
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    245
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    169
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    368
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    524
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    377
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    168
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    358
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    321