C#基础笔记(第十九天)
1、CSS 层叠样式表 对HTML的补充
实现网页内容和页面效果的彻底分离
1.内联样式表(在标签内设置元素的样式)
<p style="background:red; font-size:xx-large">今天天气好晴朗,处处好风光</p>
比较灵活,想给谁设置数据就给谁设置数据
但如果想让当前页面所有P标签都变成这样,得所有的都写一遍,太麻烦了。
2.嵌入样式表(需要在head标签内写<style type="text/css"></style>)
<style type="text/css">
p{
font-size:xx-small;
}
全局改变,但是不会改变到内联样式表,内联样式表的优先级更高
3.外部样式表 link
下载别人写好的样式
tt{
font-size:xx-large;
}
<link href="Test.css" rel="stylesheet" type="text/css"/>
优先级低于前面两种
2、样式规则的选择器(通过怎样的途径来获得页面上要设置样式的元素)
1)、HTML Selector
tt{
}
2)、Class Selector(类选择器,需要给要设置样式的元素的class属性赋值)
tt.tt1{
}
tt.tt2{
font-size:xx-large;
}
<tt class="tt1">
<tt class="tt2">
页面中某些元素要显示同一样式的时候采用类 class选择器
3)、ID选择器(需要给要设置样式的元素的class属性赋值)
.p1{
}
#p2{
}
#p3{
}
#p4{
}
要保证每一个ID是唯一的,尽量不要给标签赋值同一个ID 单一用ID
<p class="p1">
<p class="p1">
<p id="p2">
<p id="p3">
<p id="p4">
4)、关联选择器
标签可以相互嵌套 根据嵌套的标签来赋值
p em{
}
<p><em>今天天气好晴朗</em></p>
<em>哈哈</em>
<em>哈哈哈</em>
<p>今天天气好晴朗</p>
<p>今天天气好晴朗</p>
<p>今天天气好晴朗</p>
5)、组合选择器
h1,h2,h3,h4,h5,h6,td{
}
<h1>我是一个粉刷匠</h1>
<h2>我是一个粉刷匠</h2>
<h3>我是一个粉刷匠</h3>
<h4>我是一个粉刷匠</h4>
<h5>我是一个粉刷匠</h5>
<h6>我是一个粉刷匠</h6>
<table border="1" cellspacing="0px" cellpadding="0px">
<tr>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
</tr>
<tr>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
</tr>
<tr>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
<td>粉刷本领强</td>
</tr>
6)、伪元素选择器
伪元素选择器是指对同一个HTML元素的各种状态和其所包括的。部分内容的一种定义方式。例如,对于超链接标签(<a></a>)的正常状态(没有任何动作前)、访问过的状态、选中状态、光标移动到超链接文本上的状态,对于段落的首字母和首行,都可以使用伪元素选择器来定义。
常用的伪元素
A:active 选 中超链接时的状态
A:hover 光标移动到超链接上的状态
A:link 超链接的正常状态
P:first-link 段落中的第一行文本
P:first-letter 段落中的第一个字母
a:active{
text-decoration:none;
}
a:hover{
font-size:xx-large;
}
P::first-letter{
font-size:xx-small;
}
p::first-line{
font-size:xx-large
}
<p>小李子是一个二货<br/>
小李子是一个二货<br/>
小李子是一个二货<br/>
小李子是一个二货<br/>
小李子是一个二货</p>
<a href="#">超链接</a>
<a href="#">超链接</a>
<a href="#">超链接</a>
<a href="#">超链接</a>
<a href="#">超链接</a>
3、CSS字体属性介绍
1)、字体
font-family:该属性用于设置字体系列。
font-size:该属性定义文字的大小,可以使用度量单位来设置字体的大小,也可以使用一个相对的字体大小。还可以使用绝对的大小标记符。绝对大小的设置为 xx-small、x-small、small、medium、large、x-large、xx-large中的任意一个。xx-small为最小,xx-large为最大。
font-style:该属性用于定义字体样式为normal、italic或者oblique(斜体)
text-decoration:该属性用于文本中的下划线、上划线、闪烁效果。
font-weight:该属性拥有设置粗体字的磅值,该属性的值有:normal、bold、bolder、lighter、100~900
4、文档流
position:absolute;绝对定位,定到哪就是哪
position:fixed; 固定
z-index:3;数值越高的越显示在外面
div{
height:300px;
width:300px;
}
div.div1{
top:100px;
left:100px;
position:absolute;
z-index:3;
}
div.div2{
top:130px;
left:130px;
position:absolute;
z-index:2;
}
div.div3{
top:160px;
left:160px;
position:absolute;
z-index:1;
}
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
5、文本属性
文本属性包括:文字间距、对齐方式、上标、下标、排列方式、首行缩进。
word-spacing:设置单词之间的间距。
letter-spacing:设置字符之间的间距。
text-align:设置文本的水平对齐方式,取值可以是left、right、center、justfy
text-indent:设置第一行文本的缩进值
line-height:设置文本所在行的行高。
6、盒子模型
一个盒子就是div
DIV盒子和网页或其他DIV盒子之间的间距用margin表示
DIV盒子和DIV盒子里面的内容的间距用padding表示
DIV盒子的边框用border表示
表示所有的外边框间距为0。
*
{
margin:0px;
}
auto表示自动(居中)
把网页格式,局先布好了,再往里面填内容
先每一块DIV都弄一个背景颜色,等局布完了,再撤掉只留内容
写之前先以这个形式把网页的框架搭出来。
float:left(贴着左边漂浮) 漂浮要同个div里的都漂浮
飘起来就不在那个div内占地方了。
7.简单工厂和抽象类复习
1)、注释符
单行注释 // 注释单行代码
多行注释 /*要注释的内容*/
文档注释 ///注释类和方法
HTML <!--要注释的内容-->
CSS /*要注释的内容*/
2)、命名规范
Camel骆驼命名规范:要求首单词的首字母小写,其余单词首字母大写,变量、字段
int age string name char gender string highSchool
int _chinese 字段加下划线
Pascal:类或方法 GetMax GetAvg GetSum
起名一定要有意义,不要乱起
第一部分:面向对象
process 进程 操作进程
StartInfo是你要打开的那个文件的那个东西,它需要 ProcessStartInfo类型,把打开这个文件的地址传给这个对象 再把这个对象赋值给要打开的这个startInfo,最后调用它的start方法,把它打开
//使用进程打开指定的文件
ProcessStartInfo psi = new ProcessStartInfo(@"C:\Users\SJD\Desktop\AE.txt");
Process p = new Process();
p.StartInfo = psi;
p.Start();
3)、面向对象的复习
1.封装、继承、多态
***字段:存储数据,访问修饰符应该设置为priveate私有的
***属性:保护字段,对字段的取值和赋值进行限定
***new关键字:1、在堆中开辟空间 2、在开辟的空间中创建对象 3、调用对象的构造函数
***this关键字:1.代表当前类的对象 2.调用自己的构造函数
构造函数就是一个特殊的方法
构造函数没有void 必须是Public
单立模式,只能创建一个对象,如QQ
构造函数:初始化对象,当创建对象的时候,会调用构造函数。
给对象的每个属性赋值的过程称之为对象的初始化
***对字段的保护方法:
1.get()
2.set()
3.构造函数
***return:
1.立即结束本次方法
2.在方法中返回要返回的值
public Person(int age, string name,char gender,int chinese,int english,int math)
{
this.Age = age;
this.Name = name;
this.Gender = gender;
this.Chinese = chinese;
this.English = english;
this.Math = math;
}
public Person(int age,string name,char gender):this(age,name,gender,0,0,0)
{
}
4)、继承复习
解决代码的冗余,实现多态,增强了代码的扩展性,便于维护。
1.单根性
2.传递性
子类并没有继承父类的构造函数,而是会默认调用父类那个无参数的构造函数。
如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类哪里继承过来的成员。但是父类永远都只能使用自己的成员,而不能使用子类的成员。
子类之间也不能互相使用对方的成员。
5)、里氏转换
1、子类可以赋值给父类
2、如果父类中装的是子类对象,那么可以将这个父类转换为子类对象
3、as
Person person = new Student();
Teacher t = person as Teacher;
转换成功返回对应的对象
转换失败返回一个Null
4、is
Person person = new Student();
{
Console.WriteLine("OK,可以转换");
}
else
{
Console.WriteLine("NO,不可以转换");
}
转换成功返回true
转换失败返回false
6)、多态
1.虚方法 virtual
2.抽象类 abstract
C#基础笔记(第十九天)的更多相关文章
- C#基础笔记(第十天)
C#基础笔记(第十天) 1.字段.属性.方法.构造函数字段:存储数据属性:保护字段,对字段的取值和设值进行限定方法:描述对象的行为构造函数:初始化对象(给对象的每个属性依次的赋值)类中成员,如果不加访 ...
- Python基础笔记系列十四:python无缝调用c程序
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺 ...
- Python基础笔记系列十二:requests模块的简单应用
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信 ...
- Python基础笔记系列十:模块
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...
- Android基础笔记(十八)- Fragment
博客的感悟终点-開始 什么是Fragment 加入fragment到Activity的两种方式 Fragment的生命周期 Fragment的向下兼容 Fragment之间的通信 博客的感悟,终点-開 ...
- JavaScript基础笔记(十)表单脚本
表单脚本 一.表单基础知识 JavaScript中表单对应的是HTMLFormElement类型,该类型继承自HTMLElement类型. 通过document.forms可以获得所有表单元素,通过数 ...
- C#基础笔记(第十六天)
1.进程复习//通过进程去打开应用程序 Process.Start("calc"); Process.Start("mspaint"); Process.Sta ...
- Java基础笔记(十六)——继承
继承 提取出一些共性特征,作为父类,子类就可以继承父类的这些开放成员,子类再添加自己独有的属性和方法.如果再有类具有这些共同特征,也可继承这个父类. 特点:1.利于代码复用 2.缩短开发周期 ...
- Java基础笔记(十四)——封装
封装(好比ATM机) 将类的某些信息隐藏在类内部,不允许外部程序直接访问(隐藏对象的信息),通过该类提供的方法来实现对隐藏信息的操作和访问(留出访问的接口). 特点: 1.只能通过规定的方法访问数据. ...
随机推荐
- TCP/IP协议 socket
TCP/IP四层协议 TCP/IP概念 tcp/ip协议是主机接入互联网以及接入互联网的两台主机通信的标准. 数据帧概念 数据帧 |-- 包头 | |--源地址 | |--目标地址 | |--数据类型 ...
- apache ant 修改java版本 方法之一
通常apache ant是和eclipse软件绑定在一起的.尝试了一些方法不行,想到了一个笨的方法,分享一下: ①打开ant 编译时的配置界面 ②.切换到classPath选项卡,选择ant home ...
- linux命令之scp远程文件复制
scp是linux中功能最强大的文件传输命令,可以实现从本地到远程以及远程到本地的轻松文件传输操作.下面简单的讲解一些关于scp命令的操作,给有用的人一些参考: 首先是本地到远程的操作:操作的格式如下 ...
- rdd去重
a=[[1,2,3,2,3,4],[3,4,5,6,7,5,3,2]]b=sc.parallelize(a) d=b.flatMap(lambda x:x) #铺平 ,形成一个rdd e=d.dis ...
- k8s问题记录
1. kubectl run 起来的pod 用 kubectl delete po删不掉 kubectl delete deployment my-nginx kubelet# 看到最后一行:erro ...
- 10-SSH综合案例:前台用户模块:邮箱服务器配置
之前发邮件是自己发到服务器还是?是自己搭建一个还是注册一个163啊?自己可以搭建一个邮箱的服务器然后去发送邮件.就是你必须得在这上面有了账户才能发,你也可以往网络上发.你的主机就是一台邮箱服务器了.你 ...
- 47. Permutations II (Back-Track, Sort)
Given a collection of numbers that might contain duplicates, return all possible unique permutations ...
- Zookeeper 源码(五)Leader 选举
Zookeeper 源码(五)Leader 选举 前面学习了 Zookeeper 服务端的相关细节,其中对于集群启动而言,很重要的一部分就是 Leader 选举,接着就开始深入学习 Leader 选举 ...
- 一文读懂 超简单的spark structured stream 源码解读
为了让大家理解structured stream的运行流程,我将根据一个代码例子,讲述structured stream的基本运行流程和原理. 下面是一段简单的代码: val spark = Spar ...
- [label][PHP-Security]PHP Security Program
本文是通过阅读http://www.nowamagic.net/中的PHP安全变成专题,同时结合个人的一点点开发经验组合而成的. 如果你需要看原文,可以直接访问http://www.nowamagic ...