CSS知识点(一)
一、引入CSS样式(重点掌握)
行内样式
内接样式
外接样式
3.1 链接式
3.1 导入式
css介绍
现在的互联网前端分三层:
- HTML:超文本标记语言。从语义的角度描述页面结构。
- CSS:层叠样式表。从审美的角度负责页面样式。
- JS:JavaScript 。从交互的角度描述页面行为
HTML的缺陷:
- 不能够适应多种设备
- 要求浏览器必须智能化足够庞大
- 数据和显示没有分开
- 功能不够强大
CSS 优点:
- 使数据和显示分开
- 降低网络流量
- 使整个网站视觉效果一致
- 使开发效率提高了(耦合性降低,一个人负责写html,一个人负责写css)
比如说,有一个样式需要在一百个页面上显示,如果是html来实现,那要写一百遍,现在有了css,只要写一遍。现在,html只提供数据和一些控件,完全交给css提供各种各样的样式。
- <!--行内样式-->
- <div>
- <p style="color: green">我是一个段落</p>
- </div>
- <!--内接样式-->
- <style type="text/css">
- /*写我们的css代码*/
- span{
- color: yellow;
- }
- </style>
- <!--外接样式-链接式-->
- <link rel="stylesheet" href="./index.css">
- <!--外接样式-导入式-->
- <style type="text/css">
- @import url('./index.css');
- </style>
二、基本选择器
css的选择器:1.基本选择器 2.高级选择器
基本选择器包含:
1.标签选择器
标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某一个,所以说 "共性" 而不是 ”特性“
- body{
- color:gray;
- font-size: 12px;
- }
- /*标签选择器*/
- p{
- color: red;
- font-size: 20px;
- }
- span{
- color: yellow;
- }
2.id选择器
# 选中id
同一个页面中id不能重复。
任何的标签都可以设置id
id命名规范 要以字母 可以有数字 下划线 - 大小写严格区分 aa和AA是两个不一样的属性值
- #box{
- background:green;
- }
- #s1{
- color: red;
- }
- #s2{
- font-size: 30px;
- }
3.类选择器
所谓类:就是class . class与id非常相似 任何的标签都可以加类,但是类是可以重复,属于归类的概念。同一个标签中可以携带多个类,用空格隔开
类的使用,能够决定前端工程师的css水平到底有多牛逼?
玩类了,一定要有”公共类“的概念。
- .lv{
- color: green;
- }
- .big{
- font-size: 40px;
- }
- .line{
- text-decoration: underline;
- }
- <!-- 公共类 共有的属性 -->
- <div>
- <p class="lv big">段落1</p>
- <p class="lv line">段落2</p>
- <p class="line big">段落3</p>
- </div>
总结:
不要去试图用一个类将我们的页面写完。这个标签要携带多个类,共同设置样式
每个类要尽可能的小,有公共的概念,能够让更多的标签使用
到底使用id还是用class?
答案:尽可能的用class。除非一些特殊情况可以用id
原因:id一般是用在js的。也就是说 js是通过id来获取到标签
三、高级选择器
后代选择器:使用空格表示后代选择器。顾名思义,父元素的后代(包括儿子,孙子,重孙子)
子代选择器:使用>表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子....)元素p。
并集选择器:多个选择器之间使用逗号隔开。表示选中的页面中的多个标签。一些共性的元素,可以使用并集选择器。
交集选择器:使用.表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 语法:div.active,它表示两者选中之后元素共有的特性。
- <!--后代选择器-->
- .container p{
- color: red;
- }
- .container .item p{
- color: yellow;
- }
- <!--子代选择器-->
- container>p{
- color: yellowgreen;
- }
- <!--并集选择器-->
- h3,a{
- color: #008000;
- text-decoration: none;
- }
- <!--交集选择器-->
- h4{
- width: 100px;
- font-size: 14px;
- }
- .active{
- color: red;
- text-decoration: underline;
- }
- h4.active{
- background: #00BFFF;
- }
四、属性选择器
- /*根据属性查找*/
- /*[for]{
- color: red;
- }*/
- /*找到for属性的等于username的元素 字体颜色设为红色*/
- /*[for='username']{
- color: yellow;
- }*/
- /*以....开头 ^*/
- /*[for^='user']{
- color: #008000;
- }*/
- /*以....结尾 $*/
- /*[for$='vvip']{
- color: red;
- }*/
- /*包含某元素的标签*/
- /*[for*="vip"]{
- color: #00BFFF;
- }*/
- /**/
- /*指定单词的属性*/
- label[for~='user1']{
- color: red;
- }
- input[type='text']{
- background: red;
- }
五、伪类选择器
伪类选择器一般会用在超链接a标签中,使用a标签的伪类选择器,我们一定要遵循"爱恨准则" LoVe HAte
- /*没有被访问的a标签的样式*/
- .box ul li.item1 a:link{
- color: #666;
- }
- /*访问过后的a标签的样式*/
- .box ul li.item2 a:visited{
- color: yellow;
- }
- /*鼠标悬停时a标签的样式*/
- .box ul li.item3 a:hover{
- color: green;
- }
- /*鼠标摁住的时候a标签的样式*/
- .box ul li.item4 a:active{
- color: yellowgreen;
- }
再介绍一种css3的选择器nth-child()
- /*选中第一个元素*/
- div ul li:first-child{
- font-size: 20px;
- color: red;
- }
- /*选中最后一个元素*/
- div ul li:last-child{
- font-size: 20px;
- color: yellow;
- }
- /*选中当前指定的元素 数值从1开始*/
- div ul li:nth-child(3){
- font-size: 30px;
- color: purple;
- }
- /*n表示选中所有,这里面必须是n, 从0开始的 0的时候表示没有选中*/
- div ul li:nth-child(n){
- font-size: 40px;
- color: red;
- }
- /*偶数*/
- div ul li:nth-child(2n){
- font-size: 50px;
- color: gold;
- }
- /*奇数*/
- div ul li:nth-child(2n-1){
- font-size: 50px;
- color: yellow;
- }
- /*隔几换色 隔行换色
- 隔4换色 就是5n+1,隔3换色就是4n+1*/
- div ul li:nth-child(5n+1){
- font-size: 50px;
- color: red;
- }
六、伪元素选择器
- /*设置第一个首字母的样式*/
- p:first-letter{
- color: red;
- font-size: 30px;
- }
- /* 在....之前 添加内容 这个属性使用不是很频繁 了解 使用此伪元素选择器一定要结合content属性*/
- p:before{
- content:'alex';
- }
- /*在....之后 添加内容,使用非常频繁 通常与咱们后面要讲到布局 有很大的关联(清除浮动)*/
- p:after{
- content:'&';
- color: red;
- font-size: 40px;
- }
CSS知识点(一)的更多相关文章
- 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4
系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7
系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9
系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11
系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...
- css知识点
css知识点 一.盒模型知识 border: 边框 border-width:边框的宽度 border-color:边框的颜色 border-style:边框的线型 border-top:上边框 bo ...
- CSS知识点集锦
CSS知识点集锦 CreateTime--2016年9月29日09:43:10Author:Marydon UpdateTime--2017年3月21日08:03:13 2.CSS样式优先级问题 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9(知识点:媒体操作、构建表单)
系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作、代码编写规则)
系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置、设置背景、数据列表)
系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)
这些HTML.CSS知识点,面试和平时开发都需要 No1-No4 系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...
随机推荐
- TortoiseGit自动记住用户名密码的方法
TortoiseGit自动记住用户名密码的方法 windows下比较比较好用的git客户端有2种: msysgit + TortoiseGit(乌龟git) GitHub for Windows gi ...
- JavaScript运行机制详解
JavaScript运行机制详解 var test = function(){ alert("test"); } var test2 = function(){ alert(& ...
- HTTPS 如何保证数据传输的安全性
为什么需要 HTTPS? 我们知道 HTTP 是一个纯文本传输协议,对传输过程中的数据包不进行加密,是明文传输,那这样的话对于介于在发送端和接收端之间的任何 一个节点都能知道传输的内容,这些节点可能是 ...
- AmazeUI学习
http://amazeui.org/ 相比于其他国外的框架而言,Amaze UI更关注中文排版,被前端工程师称为最懂中文的前端框架. Amaze UI受欢迎的一个重要的原因是:文档非常完善,适合各阶 ...
- Antd-Select组件的深入用法
一.Antd-Select提供几种类型 最基础版只提供下拉功能的选择器 带搜索功能的下拉选择器 可多选的下拉选择器 可搜索.可多选.可随意输入内容的tag下拉选择器(支持自动分词) 多级联动下拉选择器 ...
- Codeforces 776D The Door Problem
题目链接:http://codeforces.com/contest/776/problem/D 把每一个钥匙拆成两个点${x,x+m}$,分别表示选不选这把钥匙. 我们知道一扇门一定对应了两把钥匙. ...
- java根据地址获取百度API经纬度
java根据地址获取百度API经纬度(详细文档) public void getLarLng(String address) throws Exception { String ak = " ...
- C#引用出错
今天有朋友问我为什么自己引用了配置文件,但是还不能使用配置文件呢? 之后我查看他的项目,后来发现如下问题,并且总结引用文件流程如下: 引用文件的完整程序如下: 用配置文件举例 项目中的引用右击,然后点 ...
- jS冒泡优化
<script> //冒泡优化 将一个数组中的值从小到大排列 var arr=[65,85,12,36,75,46,50]; var sorted=true; ...
- 加速cin的技巧
ios::sync_with_stdio(false); cin.tie(0); 把cin变得和scanf一样快.