CSS概述

CSS是层叠样式表(Cascading Style Sheets)用来定义网页的显示效果。可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的显示效果功能。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。
那么CSS和HTML是如何在网页代码中相结合的呢?通过四种方式:style属性 、style标签、导入和链接。

CSS与HTML相结合的四种方式

1、style属性方式
这种方式很少用,因为还是和HTML差不多。
一般用后面3种。

<p style="background-color:#FF0000; color:#FFFFFF">p标签段落内容。
</p>

2、style标签方式

<style type=”text/css”>p { color:#FF0000;}
</style>

3、导入方式

<style type="text/css">@import url(myDiv.css)
</style>

4、链接方式

<link rel="stylesheet" type="text/css" href="css_3.css" media="screen" /> 

相关语法

样式优先级

由上到下,由外到内。优先级由低到高。——总之,一般情况是以后加载为主,但还有细节优先级问题(后面会讲到)。

CSS代码格式

选择器名称 { 属性名:属性值;属性名:属性值;…….}

属性与属性之间用 分号 隔开
属性与属性值直接按用 冒号 连接
如果一个属性有多个值的话,那么多个值用 空格 隔开。

选择器

就是指定CSS要作用的标签,那个标签的名称就是选择器。意为:选择哪个容器(标签本身就是封装数据的容器)。

选择器共有三种:

1) html标签名选择器。使用的就是html的标签名。
(也就是直接用html中的标签)
2) class选择器。其实使用的是标签中的class属性。
(前面加:# )
3) id选择器。其实使用的是标签的中的id属性。
(前面加:. )

每一个标签都定义了class属性和id属性。用于对标签进行标识,方便对标签进行操作。
在定义的中,多个标签的class属性值可以相同,而id值要唯一,因为JavaScript中经常用。

选择器的优先级
标签名选择器 < class选择器 < id选择器 < style属性

扩展选择器

关联选择器

标签是可以嵌套的,要让相同标签中的不同标签显示不同样式,就可以用此选择器。例如:

p { color:#00FF00;}
p b { color:#FF000;}
<p>P标签<b>湖南城市学院</b>段落样式</p>
<p>P标签段落</p> 

设置P标签。
设置P标签中的b标签。

组合选择器

对多个选择器进行相同样式的定义。例如,我们想对“div中的标签”和“类名为cc”的区域设置相同的样式,则可以定义如下的组合选择器:

.cc, div b{/*不同选择器之间用逗号分开*/background-color:#0000ff;color:#fff;
} 

设置id=”cc”的标签和div标签下的b标签。

伪元素选择器

其实就在html中预先定义好的一些选择器,称为伪元素。

格式:标签名:伪元素。类名 标签名。类名:伪元素。

超链接a标签中的伪元素:

a:link 超链接未点击状态。
a:visited 被访问后的状态。
a:hover 光标移到超链接上的状态(未点击)。
a:active 点击超链接时的状态。

段落p标签中的伪元素:
p:first-line 段落的第一行文本。
p:first-letter 段落中的第一个字母。

自定义伪元素:

:focus 具有焦点的元素(其实有点类似点击后的监听)

div:hover{background-color:#f00;color:#fff;}

CSS的盒子模型

◇边框(border)
上 border-top
下 border-bottom
左 border-left
右 border-right

◇内补丁(Paddings):内边距
上 padding-top
下 padding-bottom
左 padding-left
右 padding-right

◇外补丁(Margins):外边距
上 margin-top
下 margin-bottom
左 margin-left
右 margin-right

边框(border)—这个元素内容的封闭图形的边界
内补丁(Paddings):内边距—自己这个元素边界距离自己内容文字的距离
外补丁(Margins):外边距—自己这个元素的边界距离另一个元素的边界(边框)的距离

CSS布局——漂浮

◇ float : none | left | right
none : 默认值。对象不飘浮
left : 文本流向对象的右边
(本对象流向左边)
right : 文本流向对象的左边
(本对象流向右边)

◇ clear : none | left | right | both
none :  默认值。允许两边都可以有浮动对象
left :  不允许左边有浮动对象
right :  不允许右边有浮动对象
both :  不允许有浮动对象

(如果不允许浮动对象,且正好有一个对象漂浮过来,需要占这个对象一行位置,则这个对象移动,给那个漂浮过来的对象让出一行位置,让他们不会重叠)

CSS布局——定位
◇ position : static | absolute | fixed | relative
static :  默认值。无特殊定位,对象遵循HTML定位规则。
absolute : 将对象从文档流中拖出,使用 left , right , top , bottom 等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据 body 对象。而其层叠通过 z-index 属性定义。
fixed :  未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范。
relative : 对象不可层叠,但将依据 left , right , top , bottom 等属性在正常文档流中偏移位置。

absolute —绝对定位。
如果某个对象用了绝对定位,其实就相当于这个对象漂浮在另一个层面(重叠),而原来层面上自己占的位置被其他模块覆盖。

relative —相对定位。
如果某个对象用了相对定位,也相当于这个对象漂浮在另一个层面(重叠),但是原来层面上自己占的位置不会被其他模块覆盖。

CSS布局——图文混排
CSS布局——图像签名
(这2个方式的实现其实就是用了盒子模型,绝对定位或相对定位来实现的)

CSS还有很多知识点,可以多写写,看看API就熟悉了,基本语法也就这么多~~

CSS---网络编程相关推荐

  1. 物联网网络编程和web编程

    本文是基于嵌入式物联网研发project师的视觉对网络编程和web编程进行阐述. 对于专注J2EE后端服务开发的同学来说,这篇文章可能略微简单.可是网络编程和web编程对于绝大部分嵌入式物联网proj ...

  2. 你所需要的java网络编程大总结

    好好学java java知识分享/学习教程免费分享 关注 精彩内容 你所需要的java全套视频教程 你所需要的java电子图书 你所需要的大数据视频教程 你所需要的java练习项目 如 / 梦 上个月 ...

  3. java网络编程(七)

    戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 猜数字小游戏 下面这个示例是一个猜数字的控制台小游戏.该游戏的规则是:当 ...

  4. java网络编程(六)

    戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 网络编程示例 "实践出真知",所以在进行技术学习时, ...

  5. [转]12篇学通C#网络编程——第二篇 HTTP应用编程(上)

    本文转自:http://www.cnblogs.com/huangxincheng/archive/2012/01/09/2316745.html 我们学习网络编程最熟悉的莫过于Http,好,我们就从 ...

  6. 【Android】Android网络编程概述

    Android网络编程概述 原文来自:http://blog.csdn.net/kieven2008/article/details/8210737 首先,应该了解的几个问题: 1)Android平台 ...

  7. Linux网络编程——黑马程序员笔记

    01P-复习-Linux网络编程 02P-信号量生产者复习 03P-协议 协议: 一组规则. 04P-7层模型和4层模型及代表协议 分层模型结构: OSI七层模型: 物.数.网.传.会.表.应TCP/ ...

  8. 网络编程知识预备(5) ——libcurl库简介及其编程访问百度首页

    本文为学习笔记,整合课程内容以及下列文章: 其中,libcurl函数库常用字段解读部分: 参考博文:原文地址 作者:冬冬他哥哥 目录 Libcurl库简介 Libcurl等三方库的通用编译方法 三方库 ...

  9. 网络编程知识预备(4) ——了解应用层的HTTP协议与HTTPS协议

    参考:简单了解HTTP协议与HTTPS协议 作者:丶PURSUING 发布时间: 2021-03-15 10:55:13 网址:https://blog.csdn.net/weixin_4474282 ...

  10. java程序设计简明教程张晓龙_Java网络编程简明教程

    Java网络编程简明教程 网络编程 计算机网络相关概念 计算机网络是两台或更多的计算机组成的网络,同一网络内的任意两台计算机可以直接通信,所有计算机必须遵循同一种网络协议. 互联网 互联网是连接计算机 ...

最新文章

  1. 统治世界的十大排序算法!
  2. MySql之触发器【过度变量 new old】
  3. 【struts2】struts2配置文件—struts.properties
  4. IOS学习笔记二十一(NSDictionary、NSMutableDictionary)
  5. 【51单片机快速入门指南】4.4:I2C 读取HMC5883L / QMC5883L 磁力计
  6. 计算机组成原理实用教程课后答案,王万生《计算机组成原理实用教程》课后习题答案..doc...
  7. 整合Spring Cloud微服务分布式云架构技术点
  8. linux下tpcc测试mysql_tpcc_mysql性能测试
  9. 基于Springboot的高校课程管理系统 课程设计报告 毕业设计 包括报告和程序包
  10. 为什么企业要做CMMI资质认证?
  11. GCode软件使用说明书
  12. macbookpro2011安装单系统win10
  13. Team Queue
  14. Pegasus 在 Apache Conf 上的分享
  15. 深入浅出谈开窗函数(一)
  16. 关键路径法(Critical Path Method, CPM)
  17. torch.chunk()
  18. 鼠标移上去悬停显示小手
  19. 陈松松:经验告诉我们,做视频营销这11条标准一条也不能缺
  20. “隐私面单”让个人信息不再“裸奔”

热门文章

  1. 4 VMware安装
  2. python之路径拼接urljoin
  3. jmeter图片的下载
  4. Tensorflow学习笔记2:About Session, Graph, Operation and Tensor
  5. 一次编译libmono.so的记录
  6. HTML5+Bootstrap 学习笔记 1
  7. 关于字符串指针不可修改的问题
  8. 浅谈企业软件架构(5)
  9. 阿姨帮悬赏通缉,紧急扩散!
  10. 转载:指定浏览器打开指定的网页