HTML,CSS初识

HTML

一阶段我们利用javase技术写了一个C/S架构的项目,那么现在的网站都是采用B/S架构的,如淘宝、京东、腾讯……

如何去编写一个B/S结构的网页?做一个B/S架构的网页需要用到那些技术?

1、什么是HTML?

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

超文本标记语言

超文本:文本、声音、视频、图片……

标记:html都是利用标签来实现效果的

2、如何使用HTML?

第一个HTML

之前在javase阶段,我们都是新建的java project,那么二阶段我们需要新建web project

2.1新建web项目

在项目区右击-----new------web project----输入项目名

在WebRoot下新建一个folder文件,取名html,用于存放所有的html文件

选中webroot右击-------new--------folder------html

2.2新建一个Hello.html文件

选中html文件右击------new-----html----将文件名改为Hello.html

html文件打开方式

选中html文件右击------open with---- MyEclipse HTMLEditor

分析:html文件大体分为如下几个部分

    <html></html>----所有的网页内容都卸载这一对标签中

    <head></head>----由于存储网页中的一些配置文件,如标题、css样式连接…..

    <title></title>---网页的标题

<meta>网页的基本设置,不做过多要求

    <body></body>-----用于编写在网页中显示的代码

2.3运行html文件

选中html文件右击------properties

3、html标签使用

3.1系统样图

3.2标签的说明与使用

a.标题标签

h1-h6,数字越大字体越小,而且每个标签都独占一行

b.居中标签

标题如何居中?------使用居中标签

c.横线标签

<hr/>

横线的颜色如何解决?

使用标签的color属性-----<hr/ color=”red”>

html中颜色如何表示?

(1)英文单词   有限 ----一般使用在测试上

(2)16进制颜色表示法

   2.1 使用神器(取色软件  ps)

       #C179CC---》前缀加上#

 

   2.2 自己调色

       以火狐浏览器为例

      按住F12

 

 

d.表格标签

回想数据库中创建表格语句-----Createtable 表名

那么html中也有一个<table></table>标签表示表格

一张二维表分为行和列------<tr></tr>表示行

                                          <td></td>表示列 

需求:创建一个2行2列的表格

表格的边框如何显示?边框颜色如何变化?

一阶段学习了对象,对象拥有属性和方法

在html中每一个标签也是一个对象,也有属性和方法

此处的边框、颜色就需要用到表格的属性-----border\bordercolor

可以利用width 和height 属性改变每个单元格大小

表格中的字体如何居中对其??

利用属性align="center"

 

表格合并行合并列

rowspan:合并行-------rowspan = “2”

colspan:合并列-------colspan = “2”

注意:合并之后需要将对应的行或者列删除

                    

设置字体与单元格之间距离以及单元格与单元格之间距离

 

 

e.图片标签

<img src="图片的地址(通常是相对地址)" title="光标悬停在图片上显示的提示文字" alt="图片不存在时,使用文字替代"  width=”?px”height=”?px”/>

 

f.超链接

第一个界面完成,如何实现界面的跳转?------使用超链接标签<a></a>

语法:<ahref="连接的目标位置">连接的文字或图片</a>

当开发中,如果连接的目标地址还没有时,或动态指定,需要将href设置成#,日后再添加

运行后发现超链接,默认的打开方式,是目标页覆盖当前的窗口

 

超链接中的target属性

target: 默认是_self 在当前窗口中显示新页面

       _blank  新开一个窗口,显示新页面

       iframe的name名称,在指定的区域内显示

有时在浏览网页发现点击左边的导航栏,内容会在右边的区域显示

这是如何做到的?-------------将a标签与iframe标签连接使用

 

iframe标签用于指定一块内容显示的区域,并给其提供一个name属性,用于和a标签连接

a标签将target值设置成iframe的name值就可以实现效果了

g.段落文字标签

对于系统中的英雄介绍如何解决?------使用段落文字标签

段落标签<p></p>---能将段落分开,但是不能换行,文字都是到浏览器无法显示时才会自动换行

如何换行?-------使用换行标签<br/>

如何让局部文字凸显出来?

字体标签<font></font>-----color、size属性

加粗标签<b></b>、<strong></strong>

斜体标签<i></i>

 

h.列表标签

无序列表ul

浏览器解析ul标签时,默认加上小黑点

 

有序列表ol

 

有序列表默认排序是1,2,3

 

列表标签拥有一个type属性,可以更改排序方式

无序列表type值可以是:disc     ---实心圆

                                        circle  ---空心圆

                                 none   ---不显示任何的项目符号

有序列表type值可以是:1,2,3…..

                                   a,b,c…..

                                   I,II,III…..

 

i.input标签

input标签根据type属性的不同赋值,表示不同的组建

type的值

       text------文本输入框

       password-----密码输入框

       button-------按钮

              可以利用value属性给按钮赋值

       radio------单选按钮

              可以利用name属性实现单选---设置name属性的值相同

              checked=”checked”----设置默认选中

       checkbox-----复选框

       file------上传文件

j.下拉列表标签

使用<select></select>标签

其中用<option></option>设置选择项

添加属性selected="selected"可以设置默认选项

 

k.文本域标签

<textarea></textarea>

利用属性rows="" cols=" "设置文本域大小

3.3 form表单

最后一个页面是交友信息,当我们填完信息点击提交按钮时,数据需要提交到服务端,然后服务端接收数据-------》处理数据-----》调用数据

 

数据如何提交?------使用表单

CSS

对于之前用html写的一个系统,虽然能够实现一些功能,但是界面比较丑陋,不够美观。

那么如何画出美观的界面呢?-------使用css样式修饰

1、 什么是CSS样式

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素
  • 样式通常存储在样式表
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件
  • 多个样式定义可层叠为一

2、        HTML与CSS之间的关系

css是用来修饰html,使得整个网页更加的美观

html--------好比是一个简装房,能够进行简单的修饰

css---------好比是精装房,使得房子更加美观

 

3、如何使用CSS样式

3.1 CSS语法

css样式的语法:

 

选择器{

属性1:值1;

 

属性2:值2;

 ……….

}

 

什么是选择器??

 

为什么需要选择器?

告诉那些html需要使用样式

 

3.2 CSS位置

CSS样式写在什么地方?

方式一:内部样式

在head区定义如下标签,然后将样式写在标签内部

需求:利用样式将下面这句话定义成红色、加粗、斜体

         好看的皮囊千篇一律

         有趣的灵魂百里挑一

 

a、标签选择器,对页面所有标签有用div

b、id选择器,只是针对特定的一个元素

       使用id选择器时,需要在选择器前加#------(#id)

c、类选择器

       使用类选择器时,需要在选择器前加.-------.类名)

使用内部样式的使用场景:

   a.测试的时候使用,等测试成功后,必须移到外部样式中

   b.如果只是该页面中特有的样式,可以写到html文件中,但是不推荐

方式二:外部样式

内部样式的不足,没有彻底的将样式分离出来,仍然存在在html文件

  1.外部创建css文件,将样式编写在文件中

2.在需要使用css样式的html文件中,引入css文件

现在html和css彻底相分离,推荐使用(企业中都使用外部样式)

 

方式三:行内样式

使用标签中的style属性定义样式,不推荐(内容与显示依然耦合在一起),少用

3.3 优先级

1、选择器的优先级

如果在一个样式中同时存在标签选择器、id选择器、类选择器,那么这几个选择器的优先级如何?

通过测试发现:id选择器  > 类选择器 >标签选择器

 

3、     样式位置的优先级

行内样式  > 内部样式  > 外部样式表

 

4、系统样图

5、盒子模型

如果需要画这么一个界面,首先将界面分割,分割成上中下三个部分。

如何分割?-------------使用div

5.1 div标签

什么是div?

div是一个容器,块级容器,可以承载其他标签

如何知道该div占据多大的空间?

1、添加背景色

2、添加边框

结论:块级元素默认的宽度是一行,高度是只要能容纳下内部的内容即可

也可以自定义宽和高

 

能否利用div将网页分为上中下三个部分?-------能

5.2盒子模型

网页中,将每个元素都看成是一个盒子(高度的抽象),那么一个网页中元素的布局就是盒子的布局。

 

网页中充满了大量的盒子,盒子与盒子之间的位置关系,构成了整个的网页布局

--------------》经典的布局方式  div+css  将来的网页基本上都用div布局

 

什么是盒子模型?

现实生活中的盒子,买一个液晶电脑,物流寄过来

程序中的盒子

margin:表示的是盒子与盒子之间的距离------外边距

padding表示的是盒子中内容与盒子之间的距离----内边距

5.3 完成网页

分析:将网页分为四个部分top、head、body、foot

top部分

清除网页默认边距

写完后发现div的上方和左边都有一定的空隙,为什么?

不同浏览器显示盒子的时候,会有默认边距,为了显示统一,得先清除默认边距

如何清除默认边距?

*代表所有,此样式可以将该页面中所有的标签的默认边距清除

 

设置div自动居中

如何让div在网页的中间?------ center标签?----no

使用margin样式

语法:margin: 上下距离  左右距离

如margin: 50px300px;表示上下边距30px左右边距300px

   margin: 0px auto;表示上下边距为0,左右自适应

 

浮动

编写top时发现,两个div不能显示在同一行,如何解决?

使用float浮动

左浮------left

右浮------right

伪类

需求:网页上显示文字,当鼠标放到字上,字的颜色、大小变化

滑动门

<style type="text/css">

              #div{width: 700px;height: 30px;background-color: #DCDCDC;}

              li{

                     /**去除列表前的符号   */

                     list-style-type: none;

              }

              #menu lispan{

                     width:80px;height: 25px;

                     float:left;

                     margin-left: 20px;

                     font-weight: bold;

                     line-height: 30px;

                     margin-top: 5px;

                     text-align: center;

              }

              #menu li:HOVER{

                     background-color: white;

                     color:lawngreen;

                     size:30px

              }

              #menu li:hover  span {

                     background-color: aliceblue;

              }

       </style>

  </head>

 

  <body>

    <div id="div">

    <ul id="menu">

                  <li><span>官网首页</span></li>

                  <li><span>游戏资料</span></li>

                  <li><span>商城/合作</span></li>

                  <li><span>用户互动</span></li>

                  <li><span>赛事中心</span></li>

                  <li><span>自助系统</span></li>

           </ul>

    </div>

  </body>

 

 

移动效果

网页中的图片滑动效果如何实现?

想实现该效果,首先需要去了解一个方法translate()-----CSS3

在CSS3中可以使用translate()方法将元素沿着水平方向和垂直方向移动

规则

translateX(x):元素仅沿着水平方向移动

translateY(y):元素仅在垂直方向移动

translate(x,y):水平与垂直方向同时移动

<style type="text/css">

              #img{

                     width:400px;

                     height: 600px;

              }

              #div{

                     width:400px;

                     border: 1pxsolid red;

              }

              /** 让图片水平移动*/

              /* div:HOVER{

                     transform:translateX(60px);

              }*/

              /** 让图片垂直移动  */

              /* div:HOVER{

                     transform:translateY(60px);

              }*/

              /** 让图片垂直与水平都移动  */

               div:HOVER{

                     transform: translate(60px,60px);

              }

       </style>

  </head>

  <body>

    <div id="div"><img id="img" alt="" src="../img/dragon-left.png"></div>

  </body>

动画

动画的两步走

   1.定义动画,使用@keyframes

   2.使用动画    使用animation调用@keyframes

    animation:name duration timing-function delay iteration-count direction;

    name:动画的名称

    duration:规定完成动画所花费的时间

    timing-function

                   linear 规定以相同速度开始至结束的过渡效果

                   ease   规定慢速开始,然后变快,然后慢速结束的过渡效果

                   ease-in 规定以慢速开始的过渡效果

                   ease-out 规定以慢速结束的过渡效果

                   ease-in-out 规定以慢速开始和结束的过渡效果

    iteration-count:规定动画应该播放的次数        

                    infinite 无限循环

                    n:次数

    directionnormal   默认值。动画应该正常播放。

               alternate   动画应该轮流反向播放。

 

需求:实现一个div框的移动

<styletype="text/css">

@keyframesmyFirst{

     0%  {}

     25%{color:blue;}

     50%{color:yellow;}

     100%{transform:translateX(100px);}

  }

  div {

      animation: myFirst 3s ease-in-out 1s infinite alternate;

       width:50px;

       height: 50px;

       border: 1pxsolid red;

}

</style>

</head>

 

<body>

       <div>你好</div>

</body>

 

实现图片的移动

<style type="text/css">

@keyframesmyFirst{

     0%  {}

     25%{}

     50%{}

     100%{transform:translateX(200px);}

  }

#img {

       width:400px;

       height: 600px;

}

#div {

       animation: myFirst 3s ease-in-out 1s infinite alternate;

       width:400px;

       border: 1pxsolid red;

}

</style>

</head>

<body>

       <div id="div">

              <img id="img" alt="" src="../img/dragon-left.png">

       </div>

</body>

 

截取背景图

对于一张大图,如何截取其中的一部分

使用background-position属性

使得图片旋转

<style type="text/css">

              @keyframes myFirst{

            0% {}

            25% {}

            50% {}

            100% {transform:rotate(360deg);}

         }

       #title-pic {

              animation: myFirst 3s ease-in-out 1s 2 alternate;

              width:780px;

              height:340px;

              float:left;

              background-image: url("../img/spr.png");

              background-position: -15px -310px;

              margin-top: 150px;

       }

       </style>

  </head>

  <body>

    <div id="title-pic"></div>

  </body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值