html和css

html和css

7.HTML和css

  • html是超文本标记语言

  • 超文本: 超出了文本的范畴, 功能比文本强大

  • 标记语言: 语法由标签组成.

    <html>
    	<head>
    		<title>标题</title>
    		//外部的引入文件 css, js
    		//配置: eg 编码
    	</head>
    	<body>
    		//展示的内容
    	</body>
    </html>
    

    标签:

    </br>:换行
    <html></html> 之间的文本描述网页 
    <body></body> 之间的文本是可见的页面内容 
    <h1></h1> 之间的文本被显示为标题,h1-h6,显示为标题
    <p></p> 之间的文本被显示为段落 
    <a href="http://www.w3school.com.cn">This is a link</a>,HTML链接
    <font></font>,字体标签,颜色:color,大小:size,字体类型:face
    <b>内容</b>   粗体标签
    <i>内容</i>   斜体标签
    <hr/>分隔线
    <img src="../img/b.jpg" width="400px" height="200px" alt="美女" title="哈哈哈哈"/>  图片标签
    

    友情链接

        <!--二 无序列表 ul-->
        <!--type属性: 列表的类型; circle: 空心圆; square: 实心的正方形-->
        <ul type="square">
            <!--li定义列表里面的条目(item). li定义在ul里面-->
            <li>乔丹</li>
            <li>詹姆斯</li>
            <li>艾弗森</li>
            <li>科比</li>
            <li>库日天</li>
        </ul>
    

    表格标签

    语法:
    <table border="1px" width="" height="" bgcolor="" align="">
        <tr>
            <td>需要显示的内容</td>
        </tr>
    </table>
    1.解释说明
    	table标签代表整个表格
    	tr标签代表是表格中的一行
    	td标签就是一行中的一个单元格
    2.注意点
    	表格标签有一个边框属性, 这个属性决定了边框的宽度. 默认情况下这个属性的值是0, 所以看不到边框
    	表格标签和列表标签一样, 它是一个组合标签, 所以table/tr/td要么一起出现, 要么一起不出现, 不会单个出现
    	tr定义在table里面, td定义在tr里面
    

    表格中的属性

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OB72Sjnh-1581259955100)(img/51.png)]

6.2 技术分析

1.表单标签【重点】
  • 通过form来定义
<form action="http://www.baidu.com" method="post">
	...
</form>

常用属性

​ action:提交路径,默认是当前页面,#

​ method:提交方式,常用的是get和post. 默认就是get

get和post区别

1. get方式提交的数据(请求参数)在地址栏可见(拼接在请求的路径后面), post方式不可见
2. get方式相对不安全, post方式相当安全一些
3. get方式对提交的数据(请求参数)的大小有限制的, post方式没有限制的

2.form的常见子标签

​ input:输入域, 通过type属性来指定类型

​ select :选择列表

​ textarea:文本域

2.1input输入类型
<input type="xxx"/>

type属性,类型是由属性(type)定义的

  • text:文本输入框
  • password:密码域
  • submit:提交按钮
  • reset:重置按钮
  • button:空白按钮
  • radio:单选框
  • checkbox:复选框
  • hidden:隐藏字段
  • file:文件
2.2select :选择菜单
<select name="">
	<option value="">显示的内容</option>
</select>
  • option:选择菜单的选项

注意:

  • name在select里面指定
  • value在option里面指定
  • option定义在select里面
2.3 textarea:文本域
<textarea rows="20" cols="30" name="introduce"></textarea>

属性:

  • cols列
  • rows:行
3.通用属性

1.name

  • 作为单选和多选框的分组
  • 作为key上传到后台程序,后台程序通过key得到相对应的value。如果要想把数据提交到后台程序,一定要指定name属性

2.value

  • 给按钮起名字
  • 设置提交到服务器的值 name=value
4.设置默认值
  • text,password:通过value属性
用户名: <input type="text" name="username" value="zs"/>


  • radio checkbox:通过checked属性
性别: <input type="radio" name="sex" value="1"/>男
      <input type="radio" name="sex" value="0" checked="checked" />女


  • select :在option上通过selected属性
籍贯: <select name="address">
        <option value="sz">深圳</option>
        <option value="bj">北京</option>
        <option value="sh" selected="selected">上海</option>
    </select><br/>


  • textarea:直接在标签体中写
自我介绍: <textarea rows="5" cols="20" name="introduce">哈哈哈</textarea><br/>


3.思路分析

4.代码实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单标签</title>
</head>
<body>
    <!--一, 表单标签: 作用提交用户输入的数据的(收集用户输入的信息)
            action属性: 提交的路径(写远程的,也可以写本地的页面)

            method属性: 指定的提交的方式  get(get方式提交,默认) post(post方式提交)
                get和post方式区别:
                        1. get方式提交的数据(请求参数)在地址栏可见(拼接在请求的路径后面), post方式不可见
                        2. get方式相对不安全, post方式相当安全一些
                        3. get方式对提交的数据(请求参数)的大小有限制的, post方式没有限制的


            name属性作用: 1. 作为单选,复选的分组
                          2. 作为key把数据提交(如果你想把数据提交, name一定要设置)
            value属性作用: 1,给按钮取名字
                          2.作为值提交到服务器


    -->

    <form action="#" method="get">
        用户名: <input type="text" name="username"> <br>
        密  码: <input type="password" name="pwd"> <br>
        性  别: <input type="radio" name="sex" value="0" ><input type="radio" name="sex" value="1"><br>
        爱  好: <input type="checkbox" name="hobby" value="抽烟">抽烟
                <input type="checkbox" name="hobby" value="喝酒">喝酒
                <input type="checkbox" name="hobby" value="烫头">烫头 <br>
        头  像: <input type="file" name="head_img"> <br>
        籍  贯: <select name="province" id="">
                    <option value="1">广东省</option>
                    <option value="1">广西省</option>
                    <option value="1">湖北省</option>
                    <option value="1">湖南省</option>
                </select><br>

        自我介绍: <br>
            <textarea name="introduce" cols="30" rows="5"></textarea> <br>

        <input type="submit" value="注册按钮">
    </form>
</body>
</html>

CSS层叠样式表

1.div和span
1.1什么是div和spn

​ div是html里面的一个标签

. 没有特定的含义,作为容器. 一般用于配合css完成网页的基本布局,

​ span也是一个标签,没有特定含义,一般作为文本容器

1.2div和span的区别

​ div是块级元素会独占一行,span是行内元素不会独占一行

​ div中可以嵌套其它所有的标签, span标签中只能嵌套文本/图片/超链接

2.CSS概述和体验
2.1什么是CSS
  • 层叠样式表
  • 层叠: 样式的层层叠加(eg: 刷墙)
  • 样式表: 样式的集合, 说白了就是属性的集合

学习HTML的核心是标签, 学习CSS的核心是属性, 选择器

2.2 css能做什么
  • 美化页面,修饰页面
  • html的标签作用展示页面,定义页面的, CSS的作用修饰页面
  • eg: 把HTML当做毛坯房(骨架), 把CSS当做装修(样式)
2.3为什么要学习CSS
  • 我们在上次课中已经遇到了一些样式的问题, font标签的字体不能比1还小不能比7还大, 超链接标签的下划线去不掉…

  • 通过标签来修改样式的缺点:

    ​ 1.需要记忆哪些标签有哪些属性, 如果该标签没有这个属性, 那么设置了也没有效果

    ​ 2.当需求变更时我们需要修改大量的代码才能满足现有的需求

  • 所以在企业开发中修改样式都是交给CSS来做,通过CSS来修改样式的好处:

    ​ 1.不用记忆哪些属性属于哪个标签

    ​ 2.当需求变更时我们不需要修改大量的代码就可以满足需求

2.4CSS语法
{
	属性:属性值 属性值;
	属性:属性值 属性值
}

注意

  • 属性和属性值用:连接
  • 如果有多个属性值用空格隔开
  • 如果有多个属性,属性和属性之间用;隔开 最后一个;不写
3.html和css常见的结合方式
3.1通过标签的style属性来结合【了解】
<!--通过style属性-->
<p style="属性名称:属性值;..."></p>

3.2通过style标签来结合【掌握】
<head>
	<style type="text/css">
        标签名称{
            属性名称: 属性对应的值;
           	
        }
	</style>
</head>

注意点:
	1.style标签必须写在head标签的开始标签和结束标签之间(也就是必须和title标签是兄弟关系)
	2.style标签中的type属性其实可以不用写, 默认就是type="text/css"
	3.设置样式时必须按照固定的格式来设置. key: value; 其中:不能省略, 分号大多数情况下也不能省略

3.3通过link标签结合【掌握】
  1. 创建一个css文件(后缀是css)
  2. 通过link标签引入
<head>
	<link rel="stylesheet" href="../../css/myCss.css" />
</head>

link标签属性:
	- href:css文件路径

3.4 三种结合方式优先级

​ 就近原则(相对于代码,也就是要修饰的标签)

4.选择器
4.1什么是选择器

​ css修饰页面,作用某个标签.CSS选择器就是控制html标签,说白了就是找到标签的

4.2基本选择器【掌握】

在这里插入图片描述

  • 通用选择器 < 标签选择器 < 类选择器 < ID选择器
4.3扩展选择器

​ 由基本选择器组合而成,可以有更加灵活的选择方式

在这里插入图片描述

4.4 伪类选择器【了解】

在这里插入图片描述

5.CSS常用的属性
5.1背景属性

在这里插入图片描述

  • 代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        body{
            /*背景图片*/
            background-image: url("../../img/a.gif");
            /*设置平铺*/
            background-repeat: repeat;
        }

        div{
            width: 200px;
            height: 200px;
            /*背景颜色
            background-color: red;
            */
        }

    </style>
</head>
<body>
    <div></div>
</body>
</html>
5.2文本样式

在这里插入图片描述

5.3字体属性

在这里插入图片描述

6.盒子模型

​ 任何一个网页元素包含由这些属性组成:内容(content)、内边距(padding)、边框(border)、边界(margin),
这些属性我们可以用日常生活中的常见事物——盒子作一个比喻来理解,所以叫它盒子模型。整个网页由各种小盒子组成。

在这里插入图片描述

6.1盒子属性

在这里插入图片描述

6.2 外边距

在这里插入图片描述

  • 标签和标签之间的距离就是外边距
一,设置外边距
1.连写
margin: 上 右 下 左;

2.非连写
margin-top: ;
margin-right: ;
margin-bottom: ;
margin-left: ;

3. 注意地方:
3.1 连写注意的地方
	- margin:10px; 上下左右都是10px
	- margin:10px,20px; 上下是10px,左右20px
	- margin:10px,20px,30px;上是10px,右是20px,下30px,左是20px
3.2 设置外边距特点
	外边距的那一部分是没有背景颜色的

6.3内边距
  • 就是标签里面的内容距离边框距离
一,设置内边距
1.连写
padding: 上 右 下 左;

2.非连写
padding-top: ;
padding-right: ;
padding-bottom: ;
padding-left: ;

3. 注意地方:
3.1 连写注意的地方
	- padding:10px; 上下左右都是10px
	- padding:10px,20px; 上下是10px,左右20px
	- padding:10px,20px,30px;上是10px,右是20px,下30px,左是20px
3.2 设置内边距特点
	给标签设置内边距之后, 标签占有的宽度和高度会发生变化
	给标签设置内边距之后, 内边距也会有背景颜色

6.4边框属性

在这里插入图片描述

7.浮动属性
7.1 概述

​ 在正常到文档流中,元素是从上往下渲染出来的, 当我们给某个元素设置浮动属性之后, 那么这个元素就会脱离正常的文档流. 感觉就像有一个新的图层在页面上,有点像PS里面图层. 浮动属性主要是和div一起做页面布局的

7.2设置浮动
  • 语法
float: 取值 left(左浮动)
		    right(右浮动)

  • 特点:在浮动流中是不区分块级元素/行内元素/行内块级元素的, 都可以设置宽度和高度
  • 浮动规则
1.相同方向上的浮动元素, 先浮动的元素会显示在前面, 后浮动的元素会显示在后面
2.不同方向上的浮动元素, 左浮动会找左浮动, 右浮动会找右浮动
3.浮动元素浮动之后的位置, 由浮动元素浮动之前在标准流中的位置来确定

7.3清除浮动
  • 语法
clear: 取值  none: 默认取值,不清除
			left: 不要找前面的左浮动元素
			right: 不要找前面的右浮动元素
			both: 不要找前面的左浮动元素和右浮动元素

  • 清除浮动的方式
方式一: 在当前的元素里面添加clear属性清除
方式二: 添加一个新的盒子添加clear属性清除

1.3 思路分析

1.4 代码实现

  • 案例一下的index.html
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>高仿百度页面</title>

    <style>
        .container{
            width: 100%;
            height: 100%;
        }

        .first{
            overflow: hidden;
            border-bottom: 1px solid gainsboro;
        }

        .left{
            float: left;
        }

        .left span{
            color: deepskyblue;
        }

        .right{
            float: right;
        }

        .right input[type='button']{
            background-color: #38f;
            color: #fff;
            border: none;
            height: 100%;
            margin: 0;
            line-height: 32px;
        }

        a{
            color: black;
            margin: 0 8px;
        }

        .icon{
            width: 300px;
        }

        .input-container .input-div{
            /*font-size: 0;*/
        }

        .input-text{
            width: 50%;
            height: 42px;
            font-size: 20px;
            offset: 0;
        }

        .input-button{
            border: none;
            background-color: #3388ff;
            color: white;
            font-size: 20px;
            height: 48px;
            padding: 2px 16px;
            vertical-align: bottom;
            margin-left: -10px;
        }

        .input-container{
            text-align: center;
        }

        .bottom-container{
            text-align: center;
            margin-top: 300px;
        }
    </style>
</head>
<body>
    <div class="container">
        <!--第一行-->
        <div class="first">
            <!--  左边内容-->
            <div class="left">
                深圳: 23°C <span></span> | <a href="#">换肤</a> <a href="#">消息</a> <a href="#">显示频道</a>
            </div>
            <!--  右边内容-->
            <div class="right">
                <a href="#">新闻</a>
                <a href="#">hao123</a>
                <a href="#">地图</a>
                <a href="#">视屏</a>
                <a href="#">贴吧</a>
                <a href="#">学术</a>
                <a href="#">小凯</a>
                <a href="#">设置</a>
                <input type="button" value="更多产品">
            </div>
        </div>
        
        <!--网页中间位置的搜索内容-->
        <div class="input-container">
            <div>
                <img class="icon" src="https://www.baidu.com/img/bd_logo1.png?where=super" alt="">
            </div>
            <div class="input-div" >
                    <input class="input-text" type="text">
                    <input class="input-button" type="button" value="百度一下">
            </div>
        </div>


        <!--网页底部的内容-->
        <div class="bottom-container">
            <div>
                <a href="#">把百度设为主页</a>
                <a href="#">关于百度</a>
                <a href="#">About Baidu</a>
                <a href="#">百度推广</a>
            </div>

            <div>
                ©2019 Baidu <a href="#">使用百度前必读</a> <a href="#">意见反馈</a> 京ICP证030173号  <a href="#">京公网安备11000002000001号</a>
            </div>
        </div>
    </div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值