HTML学习小记

HTML标签

  1. HTML空元素(如:<br>),最好在开始标签中添加斜杠关闭元素
  2. 如果标签有结束标签不要忘记添加(如:<p></p>
  3. 最好使用小写标签(如:<p>),虽然HTML标签对大小写不敏感,但w3c在HTML4中推荐小写
  4. 块级元素(如:<div>)在浏览器显示通常以新行开始或结束,而内联元素(如:<span>)则不会

属性

  1. HTML属性和属性之对大小写不敏感,但推荐使用小写
    2.属性值应该包含在引号中,如果某些属性值本身有双引号,那么需要使用单引号包含(如:name='Steven "Jobs" No'

标题

在HTML中标题很重要,不要为了只是加粗或放大字体而是用标题标签(如:<h1>文章</h1>);
搜索引擎使用标题为您的网页的结构和内容编制索引

因为用户可以通过标题来快速浏览您的网页,所以用标题来呈现文档结构是很重要的。

应该将 h1 用作主标题(最重要的),其后是 h2(次重要的),再其次是 h3,以此类推

格式化标签

<b> 标签标识加粗字体,<i>标签标识倾斜字体
<strong> 标签标志你要呈现的文本很重要,<em>标志强调突出你的文本
虽然<strong>和<em>标签显示的效果和<b>和<i>标签差不多,但他们的含义却是差别很大,不要混淆使用

<meta>标签

meta标签描述了一些基本的元数据。

标签提供了元数据.元数据也不显示在页面上,但会被浏览器解析。

META 元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据。

元数据可以使用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他Web服务。

一般放置于 区域

为搜索引擎定义关键词:

<meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">
为网页定义描述内容:

<meta name="description" content="学习笔记">
定义网页作者:

<meta name="author" content="bug">
每30秒钟刷新当前页面:

<meta http-equiv="refresh" content="30">

CSS(Cascading Style Sheets)

CSS 是在 HTML 4 开始使用的,是为了更好的渲染HTML元素而引入的.

CSS 可以通过以下方式添加到HTML中:

1.内联样式- 在HTML元素中使用"style"属性

<div style="border:1px"></div>

2.内部样式表 -在HTML文档头部 <head>区域使用<style>元素 来包含CSS

<head>
<style type="text/css">
p{
 color:red;
}
</style>
</head>

3.外部引用 - 使用外部 CSS 文件

<link rel="stylesheet" href="demo.css" type="text/css">

最好的方式是通过外部引用CSS文件.

URL(Uniform Resource Locators)统一资源定位器

  1. 一个网页地址
  2. URL字符编码只能用ASCII字符集,ASCII字符集之外的字符需要转换(如%FF,用%之后加两个16进制的数来替换非ASCII字符)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Protobuf是一种高效的序列化协议,可以用于数据交换和数据存储。它的主要优势是大小小,速度快,可扩展性强。下面是使用Protobuf的一些小记: 1. 定义消息格式 首先,需要定义消息格式,以便Protobuf可以将数据序列化和反序列化。消息格式定义在.proto文件中,使用protobuf语言编写。例如,下面是一个简单的消息格式定义: ``` syntax = "proto3"; message Person { string name = 1; int32 age = 2; } ``` 这个消息格式定义了一个名为Person的消息,包含两个字段:name和age。 2. 生成代码 一旦消息格式定义好,就可以使用Protobuf编译器生成代码。编译器将根据消息格式定义生成相应的代码,包括消息类、序列化和反序列化方法等。可以使用以下命令生成代码: ``` protoc --java_out=. message.proto ``` 这将生成一个名为message.pb.java的Java类,该类包含Person消息的定义以及相关方法。 3. 序列化和反序列化 一旦生成了代码,就可以使用Protobuf序列化和反序列化数据。例如,下面是一个示例代码,将一个Person对象序列化为字节数组,并将其反序列化为另一个Person对象: ``` Person person = Person.newBuilder() .setName("Alice") .setAge(25) .build(); byte[] bytes = person.toByteArray(); Person deserializedPerson = Person.parseFrom(bytes); ``` 这个示例代码创建了一个Person对象,将其序列化为字节数组,然后将其反序列化为另一个Person对象。在这个过程中,Protobuf使用生成的代码执行序列化和反序列化操作。 以上是使用Protobuf的一些基本步骤和注意事项,希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值