前端基础2——CSS3

目录

  • 什么是CSS
  • CSS的导入方式
  • 选择器
  • 美化网页元素
  • 盒子模型
  • 浮动
  • 定位

什么是CSS

Cascading Style Sheet 层叠级联样式表

CSS:表现层(美化网页)
字体,颜色,边距,高宽,背景图片,网页定位,网页浮动。。。

CSS的导入方式

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

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>导入方式</title>
<!--    外部样式,链接式 链接css文件--><link rel="stylesheet" href="css/style.css">
<!--    外部样式 导入式,不推荐使用--><style>@import "css/style.css";</style>
<!--    内部样式--><style>
/*style标签内只能是css代码,注释样式为“/* * /”*/h1{color: green;}</style>
</head>
<body>
<!--行内样式,在标签元素中,添加style属性,参数中直接写声明句-->
<h1 style="color: red">h1</h1>
</body>
</html>

注:在多个样式同时对一个元素进行样式设置时,遵循“就近原则”

选择器

作用:选择页面上的某一个或者某一类元素

基本选择器:

  • 标签选择器:选择页面中所有该标签元素:标签名{}
  • 类选择器:选择页面中所有该类元素:.类名{}
  • id选择器:选择页面中id对应的元素:#id{}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>选择器</title><style>/*标签选择器:会选择页面上该标签的所以元素*/h1 {color: green;}/*类选择器的格式:.class的名字{}*/.a{color: red;}/*    id选择器:#ID名称{} 注意:全局id必须唯一*/#h{font-size: 100px;}</style>
</head>
<body>
<h1 class="a">标题1</h1>
<h1>标题2</h1>
<p class="a">内容1</p>
<p id="h">内容2</p>
</body>
</html>

注意:在这三个选择器之间,存在明确的优先级,不遵循所谓就近原则,优先级:id选择器>类选择器>标签选择器。

层次选择器:

  • 后代选择器: 1 2{}会选择1内所有的2元素
  • 子选择器: 1>2{}会选择1下所有2(只能一代)
  • 相邻兄弟选择器 :1+2{}选择!紧跟!1的所有2元素(1可能是多个,每个1最多只能选择一个2)
  • 通用兄弟选择器:1~2{}选择1后面所有兄弟关系的2元素
	/*后代选择器: 1 2{}会选择1内所有的2元素*/body p{color: red;}/*子选择器: 1>2{}会选择1下所有2(只能一代)*/body>p{color: green;}/*相邻兄弟选择器 :1+2{}选择!紧跟!1的所有2元素(1可能是多个,每个1最多只能选择一个2)*/p + h1{color: gray;}/*通用兄弟选择器 1~2{}选择1后面所有兄弟关系的2元素*/p~p{color: blue;}

注意:其中1、2可以使用包括标签、类、id选择器的格式,且在以上四种选择器之间,应该没有明显优先级,遵循就近原则和基本选择器的优先级。考虑基本选择器的优先级时,以2的优先级为准。

结构伪类选择器

/*第一个元孩子素*/nl li:first-child{color: red;}/*最后一个儿子元素*/nl li:last-child{color: green;}/*选择第i个 1:nth-child(i)选择1的父元素内的第i个子元素,且只有在父元素的第i个子元素是1时,才生效*/p:nth-child(1){color: gray;}/*1:nth-of-type(i) 选择1父元素内第i个类型为1的子元素*/p:nth-of-type(2){color: blue;}

属性选择器
通过属性甚至属性的值来选择元素

	/*1[2]{} 存在2属性的1类型的元素*/a[id]{}/*1[2=3]{} 存在2属性的值等于3的1类型的元素可以使用*=表包含3或者^=表示以3开头,$=表示以3结尾*/a[id="123"]{}

美化网页元素

字体样式
文字的字体、文字大小、颜色等属性

body{/*字体 可以设置两种用逗号隔开,中英文分别应用两种*/font-family: 楷体;/*字体大小*/font-size: 50px;/*字体粗细*/font-weight: bold;}/*也可一行设置多个属性:*/p{font: oblique bold 16px 楷体;}

文本样式
背景颜色、对其方式、首行缩进、行距和装饰等

/*文字与图片居中对齐*/a,b{vertical-align: middle}body{/*颜色color 可以#xxxxxx表示rgb颜色,或者直接颜色命或者使用rgb()rgba()函数,后者多一个透明度参数*/color: rgb(0, 0, 0);/*排版:居中等*/text-align: center;/*首行缩进 em为一个字母位置*/text-indent: 2em;/*行高和块高,如果一样可以有上下居中的效果*/height: 100px;line-height: 100px;/*上、下、中划线 设置划线颜色大多浏览器不支持同时只能有一个划线,应该遵循覆盖的就近原则*/text-decoration-color: #d60005;text-decoration: underline;text-decoration: overline;text-decoration: line-through;/*超链接去除下划线*/text-decoration: none;/*阴影 参数:阴影颜色,水平垂直偏移,模糊半径*/text-shadow: black 5px 5px 1px}

超链接伪类
让超链接在被选中或者点击等状态时,有不同的形态

	/*正常显示*/a{}/*鼠标悬浮的状态*/a:hover{}/*鼠标悬浮未释放的状态*/a:active{}/*已访问的链接(点过链接紫色的样子)*/a:visited{}

列表样式
可以更改列表中点的样式或者去掉点
复习之前内容

#nav{width: 300px;}.title{font-size: 18px;font-weight: bold;text-indent: 1em;line-height: 35px;}ul li{height: 30px;/*列表的点 none:去除 circle:空心圆 decimal:数字123. square正方形*/list-style: none;text-indent: 1em;}a{text-decoration: none;}a:hover{color: orange;text-decoration: underline;}

背景
背景颜色、图片
渐变背景

    div{width: 1000px;height: 700px;border: 1px solid red;/*设置背景:默认为平铺*/background: image("xxx/xxx.jpg");/*横向平铺和纵向平铺不平铺*/background-repeat: repeat-x;background-repeat: repeat-y;background-repeat: no-repeat;}

Grabient是一个在GitHub上开源的项目,可以获取各种渐变背景的CSS代码。

盒子模型

元素大小=margi+border+padding+内容

在这里插入图片描述
margin:外边距
padding:内边距
border:边框

border
在最上方选择body标签可以进行边距、字体等的初始化

/*设置默认边距为0 初始化*/body{margin: 0;padding: 0;text-decoration: none;}from{background: blue;}#box{/*border:粗细,样式,颜色*/width: 300px;border: 1px solid red;/*外边距*/padding: 0;}/*结构伪类选择器搭配子类选择器*//*border: solid实线,dashed虚线*/div:nth-of-type(1) input{border: 3px solid black;}div:nth-of-type(2) input{border: 3px dashed black;}div:nth-of-type(3) input{border: 3px dashed black;}

margin&padding
可以用来居中

#box{/*可以是1、2、4个参数,1个参数代表上下左右边距一样2个参数则分别为上下、左右边距,4个分别为上、下、左、右auto即可设置自动居中 也可使用margin-xxx分别单独设置上下左右属性*/margin: 0 auto;}

圆角边框
实现按钮等元素的圆角
绘制圆形扇形

	div{width: 100px;height: 100px;border: 10px solid red;/*边框圆角大小:一个参数则四个角相等两个参数则左上右下一样,剩下两个一样四个参数则从左上开始顺时针*/border-radius: 50px 20px 10px 5px;/*可以用来画圆,当圆角大小大于(高宽的一半加上边框粗细)就是圆*/border-radius: 60px;/*扇形需要三个角为0,另一个圆角大小为(两倍边框粗细加上div的边长)*/}

盒子阴影

     div{width: 100px;height: 100px;border: 10px solid red;box-shadow: 10px 10px 100px yellow;}

浮动

块级元素:独占一行 h1~h6 p div 列表…
行内元素:不独占行 span a img strong…
行内元素可以被包含在块级元素中,反之则不可以。

display和float

        div{width: 100px;height: 100px;border: 1px red;/*display: xxx; inline:变为行内元素 block:变为块元素inline-block 块元素但是可以内联,在一行*/display: inline;/*浮动:float 左右浮动*/float: right;/*clear:不允许有浮动元素 both:两侧 right、lefe:左、右none 默认 允许*/clear: right;}

父级边框塌陷问题
增加父级元素的高度:固定了父元素高度,就会被限制

在父级元素内最底部增加一个空的div块,清除两侧浮动:简单,但代码中应该尽量避免空div

在父类添加一个伪类:稍微复杂,没有副作用,推荐使用

        #father{border: 1px #000 solid;height: 800;}
        .clear{padding: 0;margin: 0;clear: both;}
        #father:after{content: '';display: block;clear: both;}

overflow
如果块内内容大小超过了块所规定的大小,可以使用overflow来控制隐藏超出部分或者添加块内滚动条。

其中overflow:hidden;放在父元素中,可以用来解决父级边框塌陷的问题。但是下拉的一些场景避免使用。

        #content{width: 200px;height: 100px;/*overflow: ; hidden:超出部分隐藏 scroll:滚动条*/overflow: hidden;}

定位

相对定位
相对定位:position: relative;

相对于自己原来的位置进行指定的偏移,但是,在标准文档流中,仍然处在原来的位置不变(比如说最后一个div进行向下的偏移,并不会使得父级元素的大小向下扩展)

        div{/*相对于自己原来的位置移动*/position: relative;/*上下左右移动*/top: -20px;}

绝对定位
定位:基于xxx定位,上下左右
若没有父级元素定位,基于浏览器定位
如果父级元素有绝对或者相对定位,则基于父元素定位
在标准文档流中,原来的位置会被改变

    div{position: absolute;right: 100px;}

固定定位
fixed:相对于窗口定位

        div{/*固定定位fixed*/position: fixed;bottom: 300px;left: 50px;}

z-index
图层堆叠

        div{/*设置图层,默认是0,在最底层*/z-index: 10;/*设置透明度 此下两句等价*/opacity: 0.5;filter: alpha(opacity=50);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Socket常见错误代码与描述

如错误代码10061&#xff0c; 说明服务器已经找到&#xff0c;但连接被服务器拒绝&#xff0c; 连接失败原因可能是&#xff1a; 端口号设置错误&#xff1b; 2.服务器没有处于监听状态 &#xff08;即ServerSocket –>Activetrue&#xff09;&#xff1b; 3.数据包被服务…

关于set的自定义比较函数的使用及结构体的上下二分用法

如果set的类型是个结构体 我们需要定义重载函数 ***set 容器模版需要3个泛型参数&#xff0c;如下&#xff1a; template <class Key,class Compare less <key>,class Alloc alloc>class set {...}; 第一个是元素类型&#xff0c;必选&#xff1b; 第二个指定…

BZOJ 3456: 城市规划(dp+多项式求逆)

传送门 解题思路 这道题就是求带标号的无向连通图个数&#xff0c;首先考虑\(O(n^2)\)的做法&#xff0c;设\(f_i\)表示有\(i\)个节点的无向连通图个数&#xff0c;那么考虑容斥&#xff0c;先把所有的无向图求出&#xff0c;即为\(2^{C(n,2)}\)&#xff0c;再减去不联通的情况…

前端基础3-1——JavaScript

目录什么是JavaScript快速入门引入JavaScript数据类型和基本语法入门1.变量2.number3.字符串4.布尔值5.逻辑运算6.比较运算符7.浮点数8.数组9.对象10.流程控制11.Map和Set集合严格检查模式use strict函数定义函数变量的作用域方法什么是JavaScript 概述 JavaScript是一门世界上…

[剑指offer][JAVA]面试题第[17]题[打印从1到最大的n位整数][大整数][递归回溯]

【问题描述】[中等] 输入数字 n&#xff0c;按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3&#xff0c;则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n 1 输出: [1,2,3,4,5,6,7,8,9]说明&#xff1a;用返回一个整数列表来代替打印 n 为正整数【解答思路】…

html:(40):块级元素和内联块级元素

1.下表列出了内联元素和块级元素的主要区别 html中内联元素和块级元素的区别 块级元素 行内元素 独占一行,默认情况下&#xff0c;其宽度自动填满其父元素宽度 相邻的行内元素会排列在同一行里&#xff0c;直到一行排不下&#xff0c;才会换行&#xff0c;其宽度随元素的内…

Django中提供了6种缓存方式

开发调试内存文件数据库Memcache缓存&#xff08;python-memcached模块&#xff09;Memcache缓存&#xff08;pylibmc模块&#xff09;1. 开发调试 12345678910111213141516171819202122232425262728293031323334353637383940# 此为开始调试用&#xff0c;实际内部不做任何操作…

HDU-6180 Schedule

题意 给n个工作的开始时间和结束时间 每个工作需要用机器来完成 让我们给这n个工作规划机器 规划出尽可能少机器数目 以及计算最少的机器时间(机器时间为机器使用的最终结束时间减去开始时间)分析 这道题其实就是一个工作的开始结束形成了一个线段 让我们求多个线段不交叉不重…

数字图像处理技术的应 用领域

数字图像处理技术的应 用领域 图像处理技术的主要应用领域有&#xff1a; 生物医学、遥感技术、工业生产、军事技术、 通信技术、侦缉破案、气象预报、宇宙探索、考 古等&#xff0c;已经遍布国民经济的各个领域。 发展历史 20世纪20年代&#xff1a;报纸业 Bartlane电缆图…

前端基础3-2——JavaScript

目录内部对象DateJSONAJAX面向对象编程操作BOM对象&#xff08;重点&#xff09;操作DOM对象&#xff08;重点&#xff09;操作表单formjQuery如何巩固前端基础内部对象 标准对象 Date 基本使用 转换 JSON JSON是什么 在javascript中&#xff0c;一切皆为对象&#…

ltp makefile 解析

困惑于 /include/mk/automake.mk中出现了第一个目标 而makefile却任然将all当做最终目标 测试了一番后发觉&#xff1a; ifeq ($(MAKE_3_80_COMPAT),1)# Trick make 3.80 into thinking that the default goal is all..PHONY: defaultdefault: allelse #pick this.DEFAULT_GOA…

数字图像处理(拓展)

1&#xff0e;数字图像处理及特点 数字图像处理又称为计算机图像处理&#xff0c;它是指将图像信号转换成数字信号并利用计算机 对其进行处理的过程&#xff0c;以提高图像的实用性&#xff0c;从而达到人们所要求的预期结果。 数字图像处 理还有以下特点&#xff1a; ① 处理…

HDU-5532Almost Sorted Array LIS问题

题意 就是检查这个序列是否删除一个元素就能变成非严格的有序序列 表面上就是一个卡条件检查数组的问题 分析&#xff1a; 在向量中upperbound插入上界 这样能够使数组里的数列长度尽可能大 因为 我们是在不断用小数替换数列中的数 大的数直接拼接到最后 code #include…

文件和结构体

LITTLESUN本来是在学队列啊&#xff0c;在手动模拟队列的地方发现了结构体这个小怪&#xff0c;为了能赶紧打队列大BOSS就赶紧跑过来填下文件和结构体的坑鸭&#xff01; 转载于:https://www.cnblogs.com/LITTLESUNwl/p/10435877.html

电磁波谱与可见光谱

电磁波谱与可见光谱 电磁辐射波 在实际的图像处理应用中&#xff0c;最主要的图像来源于电磁 辐射成像。 电磁辐射波包括无线电波、微波、红外线、可见光、 紫外线、X射线、γ射线。 电磁辐射波的波谱范围很广&#xff0c;波长最长的是无线电波 为3102m&#xff0c;其波长是…

[Leedcode][JAVA][第9题][回文数][数学法]

【问题描述】[简单] 判断一个整数是否是回文数。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。…

Weak Pair HDU - 5877 树状数组+离散化+DFS遍历

题意 给我们一颗有根有向树 以及每个点得权值a[1]~a[n] 需要我们求出在这颗树种有多少对满足以下两个条件的pair &#xff08;1&#xff09;u是v的祖先节点 &#xff08;2&#xff09;a[u]*a[v]< k N<1e5 a[i]<1e9 k<1e18 分析 由于需要在树中找符合要求的对…

【模板】最新空web.xml模板

<?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://xmlns.jcp.org/xml/ns/javaeehttp://x…

人眼的视觉特性

人眼的视觉特性 视觉系统基本构造 视觉过程 包括&#xff1a;光学过程&#xff1b;化学过程&#xff1b;神经处理过程 光学过程 物体在视网膜上成像 整体视觉过程 亮度适应能力 亮度适应能力 明亮较暗现象&#xff1f; 逐渐能够看清物体暗光适应(20~30s) 较暗明亮现象…

微信小程序测试的策略和注意事项

一、测试前准备&#xff08;环境搭建&#xff09; 1.前端页面 微信Web开发者工具安装、授权测试用的微信号可预览和调试小程序...可参考此文&#xff1a; 微信Web开发者工具-下载、安装和使用图解 2.管理后台 配置内网测试服务器环境&#xff0c;通过PC端Web站点管理小程序前端…