Web初级——CSS3
CSS
Cascding Style Sheet(层叠级联样式表)
1.前言
1.1CSS优势
- 内容和表现分离
- 可以实现CSS代码复用
- 利用SEO,容易被搜索引擎收录
1.2CSS导入方式
<!--行内样式,在标签元素中添加style-->
<h1 style="color:red">..</h1>
<!--代码块方式(内部样式)可以直接在HTML代码中使用-->
<style>
选择器{
声明1;
声明2;
...
}
</style>
<!--链接方式(外部样式)-->
<link rel="stylesheet" href="css代码路径">
<!--导入方式(外部样式)-->
<style>
@import url("CSS路径");
</style>
优先级:就近原则
2.选择器
2.1基本选择器
<!--对一类标签选中,优先级最低-->
/*标签类型{
声明;
}*/
h1{
color: aqua;
}
<!--对某个类标记标签选中-->
/*.+class类名{
声明;
}*/
/*<h1 class="leye">我是标题</h1>*/
.leye{
color: aqua;
}
<!--对某个标签选中,优先级最高-->
/*#+class类名{
声明;
}*/
/*<h1 id="leye">我是标题</h1>*/
#leye{
color: aqua;
}
2.2层次选择器
2.2.1后代选择器
body p{所有body后的p全部选中
...
}
2.2.2子选择器
body>p{只有body的直接子代被选中
...
}
2.2.3兄弟选择器
.class+p{ 选中class类的紧相邻下兄弟p
...
}
2.2.4通用兄弟选择器
.class~p{选中class类所有相邻的下兄弟
...
}
2.3伪类选择器
body p:first-child{选中body子代中的第一个孩子,可以更改其他修饰词
...
}
伪类选择器修饰词
first(last)-child: 当前元素的第一个(最后一个)孩子
nth-child(n) :当前元素的父类的第n个孩子
nth-of-type(n) :选择父元素父元素下第n个该类型的元素
hover:选中该类型鼠标悬浮时的状态
active:选中该类型鼠标点击时的状态
visited:选中该类型鼠标点击后的状态
after:在元素后添加代码,配合content使用
h1:after {content:url(logo.gif)} 在h1后面加一张图片
2.4属性选择器
a[id=""]{选择id为" "的a标签
...
}
id^=""以“”开头
id*=""包含“”
id$=""以“”结尾
3.样式
3.1字体样式
font-family:字体名称
font-size: 字体大小
font-weight:字体粗细
color: 字体颜色
3.2文本样式
text-align:center(排版)居中
text-indent:2em(首行缩进)2em
line-height:300px(行高)300px
text-shadow: 阴影颜色 水平位移 垂直位移 阴影半径
text-decoration:underline下划线
line-through中划线
3.3列表样式
list-style:
none 无
circle 空心圆
decimal 数字
square 方形
4.背景
background-image:url("图片路径");背景图片
background-repeat:repeat-x水平平铺
repeat-y垂直平铺
no-repeat不重复
<!--聚集方式-->
background: 颜色 url("") 位置 平铺方式
5.盒子模型
(外边距)margin:顺时针
(边框)border : 边框粗细 实现方式 颜色;
(内边距)padding:顺时针
(块居中)margin:0 auto;
(圆角边框)border-radius:顺时针
(盒子阴影)box-shadow:颜色
6.浮动
display:block 转为块元素
display:inline 转为行内元素
display:none 元素消失
float:left/right 向左/右浮动
6.1父级边框塌陷
解决办法:
1.增加父级边框宽高度
2.在父级边框下新建一个块,并清除该块的浮动
div{
clear:both;
margin:0;
padding:0;
}
父级的浮动元素在新块中被拒绝会撑开父级浮动
3.使用伪类的after
XX:after{
content:'';
display:block;
clear:both;
}
6.2overflow
overflow:scroll 滚动条
overflow:hidden 隐藏
7.定位
7.1相对定位
position:realtive 相对定位
top:.(正下负上) left:(正右负左).. right:.. bottom: ..
相对元素原来位置
7.2绝对定位
父元素没有定位的情况下,相对浏览器边框定位
父元素定位的情况下,相对父级元素定位
position:absolute 绝对定位,随着滑动会改变位置
7.3固定定位
position:fixed 固定定位,相对浏览器边框定位,随着滑动不会改变位置
7.4层级
z-index: n 0为最底层
opacity: n n(0~1)透明度
Web初级——CSS3的更多相关文章
- 响应式Web初级入门
本文来自我的前端博客,原文地址:http://www.hacke2.cn/about-responsive/ 跨终端时代的到来 当你乘坐各种交通工具(公交.地铁.轻轨.火车)时你会发现,人们都个个低下 ...
- 1+X Web初级笔记查漏补缺+练习题
学习笔记: position:relative是相对定位,是相对于自身位置移动,但是占据原有空间 absolute是绝对定位,原有空间不保留会被其他元素挤占 绝对定位 absolute不占位置完全浮动 ...
- 移动Web初级入门
最好的阅读是输出. –玉伯 即将开始涉入移动Web了,有点小兴奋也有点小紧张,希望能在未来的团队里带来一些价值.记录一下我现在所认识的移动Web. 原文摘自我的前端博客,欢迎大家来访问 原文地址:ht ...
- 玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]
在我的上一篇博客中, 很多园友提出说对css3"画图"不是很理解, 在跟他们私聊了一段时间以后,加上自己在开始自学css3的时候的疑惑,我觉得大家之所以不是很理解主要是因为对伪元素 ...
- .net web初级工程师教程
序 这份教程,只针对正在努力找工作的初级.net web工程师,软件这行,刚入门时找工作是个坎,希望教程对各位有帮助. 教程将通过一个实际项目,简单明了地完整呈现,在实际工作中,工程师都做些什么及怎么 ...
- 从零开始学 Web 之 CSS3(一)CSS3概述,选择器
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 CSS3(二)颜色模式,文字阴影,盒模型,边框圆角,边框阴影
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 CSS3(三)渐变,background属性
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 CSS3(五)transform
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
随机推荐
- 使用thymeleaf将查询的数据显示在前台。通过使用循环的形式
1.需要注意的点. 在 <tr th:each="book:${bookList}">中.book是自己命令的变量.${bookList}是将查询的数据放入这里,需要后 ...
- Unexpected token u in JSON at position 0
文章目录 1.1 错误原因: 1.2 解决思路: 1.1 错误原因: 因为JSON.parse()不能解析字符串中的undefined 出错的结果:某一行的这个字段的值为空,就会报错,整个表格都显示不 ...
- Dubbo-聊聊注册中心的设计
前言 Dubbo源码阅读分享系列文章,欢迎大家关注点赞 SPI实现部分 Dubbo-SPI机制 Dubbo-Adaptive实现原理 Dubbo-Activate实现原理 Dubbo SPI-Wrap ...
- 字符串匹配(BF算法和KMP算法及改进KMP算法)
#include <stdio.h> #include <string.h> #include <stdlib.h> #include<cstring> ...
- 5.@pytest.mark.parametrize()数据驱动
简介: pytest.mark.parametrize 是 pytest 的内置装饰器,它允许你在 function 或者 class 上定义多组参数和 fixture 来实现数据驱动. @pytes ...
- 【JavaSE】面向对象三大特征——封装、继承、多态
前言:本文主要介绍思想 封装 封装这一概念并不仅存在与面向对象中,甚至说封装这一概念不仅限于编程中,其实生活中的封装无处不在.比如 需求:你到银行取钱 参数:你只需要提供银行卡和密码 返回值:柜员会将 ...
- 消息队列之RabbitMQ介绍与运用
RabbitMQ 说明 本章,我们主要从RabbitMQ简介.RabbitMQ安装.RabbitMQ常用命令.RabbitMQ架构模式.RabbitMQ使用.Quick.RabbitMQPlus的使用 ...
- while循环条件不成立却无法跳出死循环的问题
在进入循环的时候,实际上是将A从内存加载到寄存器里面运行的,在整个循环中,A这个变量都只是在读取寄存器里面的值. 而当进入中断的时候,中断里面会从内存加载A到寄存器,修改完之后又存到内存里,然后退出中 ...
- 有用的内置Node.js APIs
前言 在构建你的第一个Node.js应用程序时,了解node开箱即用的实用工具和API是很有帮助的,可以帮助解决常见的用例和开发需求. 有用的Node.js APIs Process:检索有关环境变量 ...
- kubeEdge的MetaManager模块简介
MetaManager 是edged和edgehub之间的消息处理器,它还负责将元数据存储到轻量级数据库SQLite或从中检索元数据(metadata). 根据以下不同的operation接收不同类型 ...