HTML+CSS(part 2)

声明部分

接part1笔记整理部分,主要内容为CSS,重点整理CSS选择器(包括基本选择器和复合选择器)和盒模型相关内容,附加JavaScript部分基础知识,和HTML复习中出现的陌生知识点。

HTML部分

input标签中的属性

placeholder标签 number标签

输入框占位符 placeholder属性

占位符显示效果:
在这里插入图片描述
技术点的解释:

  • 1、placeholder属性为输入框占位符,里面可以放提示的输入信息。
  • 2、placeholder属性的值可以任意填写,当输入框输入内容时,占位符内容消失,输入框无内容时,占位符内容显示。
  • 3、占位符内容不是输入框真正的内容。

示例:

<input type = "username" placeholder = "请输入用户名"></br>
<input type = "password" placeholder = "请输入密码"></br>

显示效果:
在这里插入图片描述

数字输入框 number属性

数字框显示效果:
在这里插入图片描述
技术点的解释:

  • 1、input的type属性设置为number,则表示该输入框的类型为数字。
  • 2、数字框只能输入数字,输入其他字符无效。
  • 3、数字框最右侧会有一个加减符号,可以调整输入数字的大小,不同浏览器表现不一致。

示例:

<input type = "number">

显示效果:
在这里插入图片描述
输入效果:
在这里插入图片描述

网址输入框 url类型

网址输入框显示效果:
在这里插入图片描述
技术点的解释

  • 1、input的type属性设置为url,则表示该输入框的类型为网址。

  • 2、数字框的值需以http://或者https://开头,且后面必须有内容,否则表单提交的时候会报错误提示。

示例:

<input type = "url"> <!--必须按照格式输入网址 否则无法显示出来-->

显示效果:
在这里插入图片描述

邮箱输入框 email类型

显示效果:

  • 输入错误时:
    在这里插入图片描述输入错误时出现的提示
  • 输入正确时:
    在这里插入图片描述
    (无报错显示即输入内容符合要求)

label标签装饰input标签

label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性。如果你在 label 标签内点击文本,就会触发此控件。就是说,当用户单击选中该label标签时,浏览器就会自动将焦点转到和标签相关的表单控件上(就自动选中和该label标签相关连的表单控件上)。

语法:

<label for="控件id名称">

标签的 for 属性中的值应当与相关控件的 id 属性值一定要相同。
示例:

    <form>
        <label for="uname">输入你的用户名</label>
        <input type="text" id="uname" placeholder="Enter uname">
        <br>
        <label for="pass">输入你的密码</label>
        <input type="password" id="pass" placeholder="Enter password">
    </form>

运行结果:
在这里插入图片描述

单选框 复选框

在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选。

语法:

<input   type="radio/checkbox"   value=""    name="名称"   checked="checked"/>

属性解释:

  • 1、type:当 type=“radio” 时,控件为单选框; 当 type=“checkbox” 时,控件为复选框
  • 2、value:提交数据到服务器的值(后台程序PHP使用)
  • 3、name:为控件命名,以备后台程序 ASP、PHP 使用
  • 4、checked:当设置 checked=“checked” 时,该选项被默认选中

示例:(单选框)

    <form action="save.php" method="post">
        <label>性别:</label>
        <label></label>
        <input type="radio" value="1" name="gender" />
        <label></label>
        <input type="radio" value="2" name="gender" />
    </form>

运行结果:
在这里插入图片描述
示例:(复选框)

<!DOCTYPE html>
<html>
<head>
    <title>复选框</title>
</head>
<body>
    <input name="hobby" type="checkbox" value="football"/> 足球
    <input name="hobby" type="checkbox" value="basketball"/> 篮球
    <input name="hobby" type="checkbox" value="tennis"/> 网球
    <input name="hobby" type="checkbox" value="pingpong"/> 乒乓球
    <input name="hobby" type="checkbox" value="swim"/> 游泳
</body>
</html>

运行结果:
在这里插入图片描述

下拉菜单 select option

语法:

<form>
    <select name="列表框名称">
       <option value="选项值">选项显示内容</option>
       <option value="选项值">选项显示内容</option>
    </select>
</form>

相关解释:

  • 1、select和option标签都是双标签,它总是成对出现的,需要首标签和尾标签。
  • 2、select标签里面只能放option标签,表示下拉列表的选项。
  • 3、option标签放选项内容,不放置其他标签。
  • 4、value:
    在这里插入图片描述
  • 5、selected=“selected”:
    设置selected="selected"属性,则该选项就被默认选中。

示例:

<!DOCTYPE html>
<html>
<head>
    <title>下拉列表框</title>
</head>
<body>
    最喜欢的颜色:
    <select name="myColor" multiple="multiple">
            <option value="red">红色</option>    
            <option value="yellow">黄色</option>    
            <option value="blue">蓝色</option>    
            <option value="green">绿色</option>    
            <option value="black">黑色</option>    
            <option value="pink">粉色</option>    
            <option value="white">白色</option>    
    </select>
</body>
</html>

运行结果:
在这里插入图片描述

CSS部分

css的链接方式

为了让CSS样式能够在网页中产生作用,必须将CSS和HTML文件关联在一起,才可以正常工作。在HTML文件中使用CSS的方式有4种:行内样式、嵌入样式、链接样式和导入样式。

1 行内样式

行内样式定义在HTML标签的style属性里面,并且一次只能为一个HTML标签定义样式。 优点:为少量的HTML元素制定样式很方便。 缺点:样式不能重用

示例:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <p style="color:red">满江红</p>        
    <p style="color:red"> 怒发冲冠凭栏处</p>
    <p style="color:red"> 潇潇雨歇,抬望眼,仰天长啸</p>
</body>
</html>

运行结果:
在这里插入图片描述

2 嵌入样式

嵌入样式定义在<style></style>标签里面,可以一次为多个HTML元素定义样式。 优点:样式可以复用,缺点:HTML页面和CSS样式绑定在一起,不能跨页面复用样式。

示例:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        p{
            color:blue;
        }
    </style>
</head>
<body>
    <p >满江红</p>        
    <p> 怒发冲冠凭栏处</p>
    <p > 潇潇雨歇,抬望眼,仰天长啸</p>
</body>
</html>

运行结果:
在这里插入图片描述

3 链接样式

链接样式也叫作外部样式,将CSS样式定义在独立的.css文件里面,然后在HTML页面使用<link>标签引入CSS样式表。

优点: 将HTML标签和CSS样式分离,并且能够跨多个页面复用样式 缺点:每次使用需要提前引入。 总体上优点大于缺点。这种方式工作中经常使用。

示例:
为HTML网页所有的P标签定义样式:字体颜色绿色,字体大小25px

​步骤:

  • step1 定义css文件(gungunxs.css)
p{
    color:green;
    font-size: 25px;
}
  • step2 定义HTML文件 然后引入CSS文件
  • step3 在HTML文件定义p元素,为其设置内容
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <!--引入HTMl元素-->
    <link rel="stylesheet" type="text/css" href="../css/gungunxs.css" />
</head>
<body>
    <p >满江红</p>        
    <p> 怒发冲冠凭栏处</p>
    <p > 潇潇雨歇,抬望眼,仰天长啸</p>
</body>
</html>

4 导入样式

使用@import导入定义的CSS文件。

例如,使用@import导入样式

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        @import "../css/gungunxs.css"
    </style>
</head>
<body>
    <p >满江红</p>        
    <p> 怒发冲冠凭栏处</p>
    <p > 潇潇雨歇,抬望眼,仰天长啸</p>
</body>
</html>

5 链接方式的优先级

行内样式、嵌入样式、链接样式、引入样式哪个优先级高?

  • 哪个样式离HTML元素最近它的优先级就越高。后定义的样式会覆盖先定义的样式。
  • 行内样式 > 嵌入样式 > 外部样式
  • 但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。如右代码编辑器就是这样,<link href="style.css" ...>代码在<style type="text/css">...</style>代码的前面(实际开发中也是这么写的)。
  • 其实总结来说,就是 就近原则离被设置元素越近优先级别越高)。

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
            background-color: red;
        }
    </style>
</head>
<!--
此时:行内样式离body最近,所以它先覆盖了内部样式,此时行内样式优先级最高
-->
<body style="background-color: blue">
</body>
</html>

css选择器(重点)

选择器的概念:选择网页上的一个或者多个HTML元素,为这些元素添加样式。

基本选择器

css基本选择器分类
根据功能或作用范围,主要分为标签选择器、类选择器(. dot)和ID选择器(# sharp)3种。每个选择器由3个基本部分组成:“选择器名称”、“属性名”和“属性值”。

语法:

selector {    
  property:value;
}
selector表示“选择器名称”
property表示“属性名”
value表示“属性值”

注意:

  • 属性名和属性值之间使用半角冒号分割
  • 如果有多个“属性名:属性值”它们之间使用半角分号进行分隔
  • selector是选择器的名称,后面跟着一对大括号,所有的样式属性名和属性值包裹在大括号里面
标签选择器

一个HTML页面由很多不同的标记组成。例如:<p>、<h1>、<div>。标签选择器用于控制页面中所有同类标记的显示样式,语法如下:

tagName {
	property:value;
}

示例:
为网页上所有h2标签定义样式,标签里面的文字全部为红色,文本居中。

<!DOCTYPE html>
<html>
<head>
	<title>标签选择器</title>
	<!--
	小结:为标签选择器添加样式
	1 在head标签里面定义style标签,该标签用于定义HTML网页的内部样式
	2 为h2标签定义标签样式,此时的标签名称就是样式名称
	3 为h2设置样式属性名和样式属性值

	color:red; 表示h2标签里面的文本颜色为红色
	text-align: center; 文本对齐方式“水平居中对齐”

	注意:每个样式属性名和样式属性值之间必须以半角分号(;)结束。否则样式无法生效
		  半角分号(;)表示每个样式属性名和样式属性值的结束
		  标签样式名称和标签名称一样,可以为多个HTML元素设置样式(此时我们同事为三个h2标签设置了样式)
	-->
	<style type="text/css">
		h2 {
			color: red;
			text-align: center;	
		}
	</style>
</head>
<body>
    <h1>人类三次技术革命回望</h1> 
    <h2>一、蒸汽机"改变了世界"</h2>
    <br/>17世纪的科学革命已经提出"用火提水的发动机"原理,在专家和生产者大量研究和实验的基础上,1776年,瓦特制成了高效能蒸汽机,1785年,蒸汽机开始生产。瓦特完成了从动力机到工具机的生产技术体系,他的巨大成功"改变了世界"。
       ……
    <h2>二、电力技术"开创一个新纪元"</h2>
    <br/>1876年美国庆祝独立100周年之际,在费城举办了有37个国家参加的国际博展会上,美国展出了大功率发动机和电动机。继西门子之后,贝尔于1876年发明电话,爱迪生于1879年发明电灯,这三大发明"照亮了人类实现电气化的道路"。
      ……
    <h2>三、计算机———人类大脑的延伸</h2>
    <br/>1944年,美国在国防部领导下开始研制计算机,1946年制成世界上第一台电子数字计算机ENIAC,开辟了一个计算机科学技术新纪元,拉开信息技术革命序幕。
</body>
</html>

运行结果:
在这里插入图片描述

类(class)选择器

类选择器用来为多个HTMl元素定义样式,语法如下:

className是选择器的名称,它和HTMl元素的class属性值对应,具体名称由用户命名。
.className {  
   property:value;
}
注意:类选择器使用.开头

示例: 为所有class="sp1"的HTML元素添加样式

<!DOCTYPE html>
<html>
<head>
    <title>类选择器</title>
    <style type="text/css">
        .sp1 {
            color:blue;
            font-size: 30px;
        }
    </style>
</head>
<body>
    <h1 >人类三次技术革命回望</h1> 
    <h2>一、蒸汽机"改变了世界"</h2>
    <p class="sp1">1776年,瓦特制成了高效能蒸汽机,1785年,蒸汽机开始生产。瓦特完成了从动力机到工具机的生产技术体系,他的巨大功"改变了世界"。
       ……</p>
    <h2>二、电力技术"开创一个新纪元"</h2>
    <p class="sp2">继西门子之后,贝尔于1876年发明电话,爱迪生于1879年发明电灯,这三大发明"照亮了人类实现电气化的道路"。
      ……</p>
    <h2>三、计算机———人类大脑的延伸</h2>
    <p class="sp1">1946年制成世界上第一台电子数字计算机ENIAC,开辟了一个计算机科学技术新纪元,拉开信息技术革命序幕。
    ……</p>
</body>
</html>

运行结果:
在这里插入图片描述

id选择器

对HTML元素的ID属性值设置样式。

语法

#idName { 
  property:value;
}
idName是选择器名称,可以由CSS定义者自己命名。
注意:ID选择器以#开始

==ID选择器和类选择器的区别:==一个HTML文件中ID的属性值是唯一的。ID选择器只能选择一个HTML元素,而类选择器可以选择多个HTML元素。

示例:id="first"定义样式字体颜色为粉色,字体大小25px,文本居中

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
		#first {
			color:pink;
			font-size: 25px;
			text-align: center;
		}
	</style>
</head>
<body>
    <p id="first">开展计算思维教学是计算机科学发展的必然结果。</p>
    <p >计算机早期的发展,在计算机科学的引领下,指导什么能做,什么不能做;什么做的快,什么做的慢;什么做的好,什么做的不好。</p>
    <p >现在已经没有章法了,似乎计算机没有不能做的。而且计算机的超快计算速度和超大存储能力傲视着理论研究。这掩盖了一些深层次的本质问题。</p>
</body>
</html>

运行结果:

小结:
​ 标签选择器名称跟标签名称一致,例如:

选中HTML页面中所有的P标签,然后为它添加样式
p{
}

类选择器.开始,后面跟选择器名称,选择器名称跟标签的class属性名称保持一致,例如:

选中HTML页面所有标签的class属性值为word的HTML元素,然后为它添加样式
.word{
}

id选择器以#开始,后面跟选择器名称,选择器名称跟标签的id属性名保持一致,例如:

<!-- 选中HTML页面id为first的某个元素,然后为它添加样式-->
#first{
}

复合选择器(重中之重)

复合选择器就是 两个或多个基本选择器,通过不同方式组合而成的选择器。包括群组选择器、后代选择器、父子选择器、伪类选择器等。

群组选择器

可以同时多个(一组)HTML元素设置样式

语法:

选择器1,选择器2,选择器N{
  	样式属性名1:样式属性值1;
	样式属性名2:样式属性值2;
	...................
	样式属性名n:样式属性值n;
}

示例: 为多个HTML元素设置样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /** 选择所有的标题标签和class="word"的P标签**/
        h1,h2,h3,h5,.word{
            color:red;
            font-style:italic;
        }
    </style>
</head>
<body>
<h1 >沁园春.长沙</h1>
<h2 >沁园春.长沙</h2>
<h3 >沁园春.长沙</h3>
<h5 >沁园春.长沙</h5>
<p class="word">独立寒秋</p>
<p class="word">湘江北去</p>
<p>橘子洲头</p>
<p class="word">携来百侣曾游,忆往昔峥嵘岁月稠。</p>
</body>
</html>

运行结果:
在这里插入图片描述

兄弟选择器

以某一HTML元素为参照物,选择它后面的“弟弟”,此时兄和弟是平级关系

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /**
        兄弟选择器语法:兄+弟
        选择first后面的弟弟
        此时只能选择first后面一个弟弟(<p>湘江北去</p>)
        */
        .first+p{
            color:red;
        }
    </style>
</head>
<body>
<p class="first">独立寒秋</p>
<p >湘江北去</p>
<p >橘子洲头</p>
</body>
</html>

运行结果:
在这里插入图片描述

父子选择器

能够选择父元素下面所有的儿子元素,但是不包括孙子曾孙等元素

语法:父选择器>子选择器

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /**
        选择ul下面所有的儿子li,不包括孙子li,此时没有选中<li>七律.人民解放军占领南京</li>,因为它是ul的孙子元素
        */
        #word>li{
            color:red;
        }
    </style>
</head>
<body>
<ul id="word">
    <li>西江月.井冈山</li>
    <li>秦皇岛.北戴河</li>
    <li>七律.长征</li>
    <!--孙子元素不会选择-->
    <div><li>七律.人民解放军占领南京</li></div>
    <li>沁园春.雪</li>
</ul>
</body>
</html>

运行结果:
在这里插入图片描述

祖先子孙选择器

可以选择某个元素 下面 所有的儿子、孙子、曾孙等等

语法:祖先选择器 子孙选择器
注意:祖先和子孙之间有一个空格
示例:

#word li祖先子孙 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /**
        选择UL下面所以的LI
        #word li祖先子孙
        #word li,div 祖先子孙选择器和群组选择器,li和div共用一组样式
        **/
        #word li,div{
            color:red;
            background-color: pink;
            width:200px;
            height:100px;
            display: inline-block;
            line-height: 100px;
            text-align: center;
            list-style: none;
        }
    </style>
</head>
<body>
<ul id="word">
    <li>西江月.井冈山</li>
    <li>秦皇岛.北戴河</li>
    <li>七律.长征</li>
    <!--孙子元素不会选择-->
    <div><li>七律.人民解放军占领南京</li></div>
    <li>沁园春.雪</li>
</ul>
</body>
</html>

运行结果:
在这里插入图片描述

元素属性选择器

为HTML元素特定的属性值设置样式

语法元素名称[属性名=属性值]
例子:

form>input[type=text] 表单>输入[属性名 = 属性值]
伪类选择器

可以为HTML元素设置特殊的样式,叫做伪类选择器

语法真实选择器:伪类选择器
例子:
比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:

a:hover{color:red;}

例子:
为右边代码编辑器中第一段文字“胆小如鼠”加入鼠标滑过文字字号设置为20px。

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>伪类选择符</title>
    <style type="text/css">
    a:hover {
        color: red;
        font-size:20px;

    }
    </style>
</head>

<body>
    <h1>勇气</h1>
    <p class="first">三年级时,我还是一个<a href="http://www.imooc.com">胆小如鼠</a>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>
    <p id="second">到了三年级下学期时,我们班上了一节公开课,老师提出了一个很<span>简单</span>的问题,班里很多同学都举手了,甚至成绩比我差很多的,也举手了,还说着:"我来,我来。"我环顾了四周,就我没有举手。</p>
    <img src="http://img.mukewang.com/52b4113500018cf102000200.jpg"> 
</body>
</html>

运行结果:
在这里插入图片描述
鼠标滑过时
在这里插入图片描述

css的继承

css盒模型

css布局模型

flex弹性盒模型

JavaScript部分

summary部分

此blog是对html中input标签中的属性和css中的重点知识的整理,包括css的几种样式、css的基本选择器和复合选择器。计划下篇blog完成css剩余部分的整理。
学习在于总结归纳,blog由本人结合所学知识和笔记整理得出,若有错误,敬请指正批评!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dorable_Wander

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值