HTML+CSS 入门学习

本文介绍了VSCode的开发工具快捷键,如生成文件骨架、代码格式化。接着讲解了HTML的基本标签,包括标题、段落、图片、超链接、文本样式和列表。此外,还涵盖了表格、表单元素以及块级和行内元素的概念。CSS方面,提到了选择器、样式优先级、字体属性和背景属性。最后讨论了CSS动画、媒体查询和新特性,如CSS3的圆角和阴影。
摘要由CSDN通过智能技术生成

1.vscode开发者工具快捷键

!+ 回车     生成浏览器文件基础骨架
Shift + Alt + F    代码格式化
Alt + up 或 down    向上或向下移动一行   
Shift + Alt + up 或 down    快速复制一行     
Ctrl + H    快速替换

2.标题标签

<h1>一级标题最大</h1> 到 <h6>六级标题最小</h6>
h$*6    快速生成一到六级标签
  • HTML标签只用于标题
  • 不要仅仅为了生成粗体或大号文本而使用标题
  • 正确使用标题有益于SEO(排名,不充钱的)
  • 根据内容去定义级别,<h1>用作主标题(最重要),其后<h2>(次重要),再其次<h3> 

 3.段落、换行、水平线标签

<p>段落</p>
<br>换行</br>    在不产生新的段落的情况下换行
<hr>水平线</hr>    

4.图片标签

<img src='', alt='', tittle='', width='宽', height='高'></img>
  • <img>是单标签不需要闭合操作
  • src:路径(父子,网址,绝对,相对) 
  • alt:图像的替代文本
  • tittle:鼠标悬停在上时给予提示
  • 图片大小常规定义时只定义宽度,会自动比例缩放高度,而不定义高度 

5.标签之超文本链接

<a href='url'>字符,图片</a>

默认属性:

  • 未访问的链接
  • 访问过的链接
  • 点击时为链接
  • 默认当前页面跳转,target="_blank" 打开新页面

可以通过css修改掉这些效果

6.标签之文本标签

<em>着重字</enm>
<b>粗体字</b>
<i>斜体字</i>
<strong>加重语气</strong>
<del>定义删除字</del>
<span>没有特定含义</span>

注:段落代表一段文本,文本标签一般表示文本词汇 

7.列表标签之有序列表、无序列表

有序:

<ol>列表
    <li>列表项</li>
</ol>

type属性:1,a,A,i,I

无序:

<ul>
    <li></li>
</ul>

 type属性:

  • disc  默认实心圆
  • circle  空心圆
  • square  小方块
  • none  不显示

应用场景:1.无序的列表效果        2.导航效果 

快速生成 ul+li 布局的快捷键:ul>li*3       

8.标签之表格

<table>表格
    <tr>行
        <td>单元格(列)</td>
    </tr>
</table>

快速生成表格结构:table>tr*2>td{内容}

属性:

  • border:边框
  • width:宽
  • height:高

单元格合并:

  • 水平合并:colspan         保留左边,删除右边
  • 垂直合并:rowspan        保留上边,删除下边

9. form表单(让网站具有交互性)

表单是由容器和控件组成的,输入框、按钮叫做控件,表单就是容器

<form action='url', method='get|post', name='表单名称'></form>

属性: 

  • action:服务器地址
  • get 与post 的区别:

                1.数据提交方式,get提交的数据url可以看到,而post看不到

                2.get一般用于提交少量数据,post用来提交大量数据

一个完整的表单元素包含三个基本组成部分:

  • 表单标签
  • 表单域
  • 表单按钮
<form>
    <input type='text'>
    <input type='submit'>    
</form>

表单元素:

<form>
    <input type='text'>  文本框
    <input type='password'>  密码框
    <input type='submit', value='按钮中的文本'>  按钮
</form>

10.块元素与行内元素(内联元素)

块级元素:

  1. 在页面中独占一行(自上向下垂直排列)
  2. 可以设置宽、高属性
  3. 一般块级元素可以包含行内元素和其他块级元素

行内元素:

  1.  只占自身的大小

  2. 宽、高属性无效

  3. 一般内联元素包含内联元素不包含块级元素

常见块级元素: 

        div、form、h1-h6、hr、p、table、ul 等

常见行内元素:

        a、b、em、i、span、strong 等

行内块级元素(不换行,能够识别宽高):

        button、img、input 等

11.HTML5新增标签

容器元素

<div> 实现:

<div id='header'></div>    标题
<div id='nav'></div>     导航
<div class='article'></div>     内容
    <div class='section'></div>     内容
<div id='sidebar'></div>     侧边栏
<div id='footer'></div>     底部

H5新标签实现:

<header>标题</header>    
<nav>导航</nav>
<article>    代表一个完整的、独立的相关内容块
    <section></section>    定义文档中的节,如章节、页眉、页脚
</article>
<aside>侧边栏</aside>
<footer>底部</footer>

旧的浏览器(如IE8)不能使用H5新标签

12.CSS(简称样式表)

语法:

引入方式:

  • 内联样式(行内样式):在相关的标签内使用(style)属性
  • 内部样式:使用<style>标签在文档头部定义内部样式表
  • 外部样式表:页面使用<link>标签链接到样式表,<link>标签在文档的头部
<link rel="stylesheet" type='text|css'href="xxx.css">

选择器:

全局选择器:可以与任何元素匹配,优先级最低,一般做样式初始化

        *{

        }

元素选择器: ul、li、label、input、div 等

        span{

        }

类选择器:用圆点 . 来定义,针对想要的所有标签使用

<h2 class="oneclass"></h2>
<!-- 定义类选择器 -->
.oneclass{
    width:100px
}

 class属性特点:

  1. 类名不能以数字开头
  2. 同一个标签可以使用多个类选择器,用空格隔开
<h1 class="oneclass twoclass"></h1>

ID 选择器:针对某一个特定的标签来使用,以 # 来定义

        特点:id 是唯一的,不能以数字开头

合并选择器:提取共同的样式,减少重复代码

.header, .footer{
    height='300px';
}

选择器的优先级:

元素选择器的权重为:1

class选择器的权重为:10

id选择器的权重为:100

内联样式的权重为:1000

优先级从高到低:内联样式 > id选择器 > class选择器 > 元素选择器

13.字体属性

color:

规定文本的颜色

font-size:

设置文本的大小

单位:px

chrome浏览器接受的最小字体是12px

font-weight:

设置文本的粗细

  • bold:粗体
  • bold:更粗
  • lighter:更细
  • 100 ~ 900:由细到粗,默认为400,700等同于bold

font-style:

字体样式

  • normal:默认
  • italic:斜体

font-family:

字体

  • 宋体
  • 微软雅黑
  • ····很多很多

14.背景属性

background-color:设置元素背景颜色

background-image:设置元素背景图像

        图片会默认放置在元素左上角,代码举例如下

background-repeat:设置属性如何平铺背景图像

  • repeat-x:只向水平方向平铺
  • repeat-y:只向垂直方向平铺
  • no-repeat:不平铺

background-size:设置背景图像的大小

  • length:背景图片的宽和高,两个值单位为px,若只设置第一个,第二个值auto
  • percentage:背景图片的宽和高,两个值单位百分比,若只设置第一个,第二个值auto
  • cover:保持图片纵横比例并将其完全覆盖容器(可能有裁剪)
  • contain:保持图片纵横比例并将其缩放成适合容器里的最大大小(可不占满容器)

background-position:设置背景图像的起始位置,默认值为0%,0%

left topleft centerleft bottom
左上角左中左下
right topright centerright bottom
右上角右中右下
center topcenter centercenter bottom
中上中中中下

 x% y% 水平与垂直,默认0% 0%,左上角是0% 0%,右下角是100% 100%,若指定了一个值,其他值就默认为50%

xpos ypos 用具体的像素表示,单位是像素(使用率低)

15.文本属性

text-align:

  • left
  • center
  • right

text-decoration:

  • underline
  • overline
  • line-through  删除线 

text-transform:

  • captialize    每个单词开头大写
  • uppercase    字母全部大写
  • lowercase    字母全部小写

text-indent:首行缩进,允许负值

16.表格属性 

表格边框:

table, td{
    border:1px solid black;        #solid(实线)
}

折叠边框:border-collaspe

宽高:weight,height

文字对齐:text-align

表格填充:padding

表格颜色:background-color(背景颜色),color(文本颜色)

17.关系选择器

后代选择器:

选择所有被 E元素 包含的 F元素,中间用空格隔开

E F{}

子代选择器:

选择所有作为 E元素的直接子元素F,对更深一层的元素不起作用,用 > 表示

E > F{}

相邻兄弟选择器: 

选择紧跟 E元素后的 第一个F元素,用 + 表示,只能向下选择

E + F{}

通用兄弟选择器:

选择E元素之后的所有兄弟元素F,作用于多个元素,用 ~ 隔开,只能向下选择

E~F{}

18.css盒子模型(box model)

所有 html 元素可以看作盒子,css盒子模型本质上是一个盒子,封装周围的html元素,包括

  • margin(外边距)  浏览器默认上左边距有8px
  • border(边框)
  • padding(内边距)  两个值:1上下  2左右
  • content(实际内容)

如果把这个盒子模型看作是一个生活中的快递,那么content等同于你买的实物,padding等同于快递盒子中的泡沫,border等同于快递盒子,margin等同于两个快递盒子之间的距离

19.弹性盒子模型 

由弹性容器(Flex container)和弹性子元素(Flex item)组成

弹性容器通过设置display属性值为flex开启弹性盒

弹性盒子只定义了弹性子元素如何在其内布局 

父元素上的属性:

display:flex  开启弹性盒,设置后子元素默认水平排列

flex-direction:row (水平摆放)| row-reverse | column(垂直摆放) | column-reverse

flex-direction为column时:

justify-content(垂直方向): flex-start(居上) | flex-end (居下)| center(居中)

align-items(水平方向):flex-start(居左) | flex-end (居右)| center(居中)

flex-direction为row时:

justify-content(水平方向): flex-start(居上) | flex-end (居下)| center(居中)

align-items(垂直方向):flex-start(居左) | flex-end (居右)| center(居中)

子元素上的属性:

flex(权重):根据弹性盒子元素所设置的拓展因子作为比率来分配剩余空间,此时前面宽度失效

20.文档流问题(标准流)

  1. 高矮不齐,底边对齐
  2. 空格折叠
  3. 元素间隙

脱离文档流的方法:

  • 浮动
  • 固定定位
  • 绝对定位 

浮动:

float:left | right        浮动只有左右(横向摆放),没有上下,浮动后使元素脱离了文档流

                                    当容器 不足以横向摆放内容时,会在下一行摆放

浮动引出的问题:

  1. 会造成父元素高度塌陷
  2. 后续元素会受到影响

解决办法:

  1. 父元素设置高度
  2. 受影响的元素增加 clear 属性
  3. overflow:hidden ,子元素还会出问题,所有需要子元素加clear
    1. 父元素高度不固定时使用
    2. .container{
          overflow:hidden;
          clear:both;
      }
  4. 伪对象方式  
    1. .container::after{
          content:'';
          display:block;
          clear:both
      }                            # 三个都要加
    2. 这种情况下,父元素不能设置高度

定位:

position:

  • relative        相对定位    
  • absolute      绝对定位    设置n个就会多出n层
  • fixed            固定定位    页面滚动,它不滚动

absolute 和 fixed 会脱离文档流,设置定位后可以使用四个属性进行调整:left | right | top | button 

注意:设置定位之后,absolute 和 fixed  是相对于具有定位的父级元素进行位置调整,若父级元素不存在定位,则继续向上逐级寻找,直到顶层文档

z-index:

它的值决定谁覆盖谁(大盖小)


21.动画

@keyframes

动画:@keyframes name{
    from | 0%{
        css样式
    }

    percent{
        css 样式
    }
    to | 100%{
        css 样式
    }
}


name 为动画名
可以添加多个百分号值

执行动画 animation

22.CSS新特性

border-radius        圆角

box-shadow        盒子阴影

媒体查询:

媒体查询能使页面在不同在终端设备下达到不同的效果

媒体查询会根据设备的大小自动识别加载不同的样式

css雪碧图 (sprite)

        CSS Sprite也叫CSS精灵图、CSS雪碧图,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去

优点:
1 减少图片的字节
2 减少网页的http请求,从而大大的提高页面的性能
原理:
1 通过background-image引入背景图片
2 通过background-position把背景图片移动到自己需要的位置

字体图标 

        我们会经常用到一些图标。但是我们在使用这些图标时,往往会遇到失真的情况,而且图片数量很多的话,页面加载就越慢。所以,我们可以使用字体图标的方式来显示图标,既解决了失真的问题,也解决了图片占用资源的问题

常用字体图标库: 阿里字体图标库

使用示例:

下载的字体文件夹放到项目里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值