【沿路行走】-html和CSS补充

HTML

main标签

<main>..</main>包围表示网页中心内容的元素,每个网页有一个该标签。

artile标签

<article>..</article>包围那些可以独立的文本

section标签

每个section中包含一些内容,但是各个section之间会有些许内容联系

article类似于独立的一本书,section就像书里的各个章节

div标签

如果section之间没有联系,替换使用div

header标签

包含网页的标题及一些元数据

nav标签

包含一些导航链接文本

footer标签

包含一些版权信息或者链接到文章底部的链接信息

音频标签audio

<audio controls> controls属性表示可以鼠标或键盘控制音频的播放进度

<source src="https://s3.amazonaws.com/freecodecamp/screen-reader.mp3 " type="audio/mpeg">

</audio>

figure标签

包围一些图片图表等元素

配合在其中使用figcaption标签标记图像的主题

form标签

包含一些单选多选输入框等

<form>

<p>Sign up to receive Camper Cat's blog posts by email here!</p>

<label for="email">Email:</label> 标签的for属性关联input框对应的id

<input type="text" id="email" name="email">

<input type="submit" name="submit" value="Submit">

</form>

fieldset标签

将单选选项组合起来,legend对选项主题的解释(为可选属性)

<fieldset>

<legend>What level ninja are you?</legend>

<input id="newbie" type="radio" name="levels" value="newbie">

<label for="newbie">Newbie Kitten</label><br>

<input id="intermediate" type="radio" name="levels" value="intermediate">

<label for="intermediate">Developing Student</label><br>

<input id="master" type="radio" name="levels" value="master">

<label for="master">Master</label>

</fieldset>

可以输入日期的input框

type="date"

<input type="date" id="pickdate" name="pickdate">

设置访问元素的快捷键

accesskey="快捷键"

该属性可以在button/link/form controls中生效

设置鼠标点击事件

tabindex="0";

<style>

p:focus { focus点击事件时的样式设置

background-color: yellow;

}

</style>

<p tabindex="0">Instructions: Fill in ALL your information then click <b>Submit</b></p>


CSS

让图片显示合理

.responsive-img {

max-width:100%;最大宽度小于等于它所在元素的最大宽度

height:auto;高度保持原有分辨率

}

其他距离单位

vw: 10vw 可显示区域宽度的10%

vh: 10vh 可显示区域高度的10%

vmin: 10vmin可显示区域最小维度的10%

vmax: 10vmax可显示区域最大维度的10%

并排显示

  • css格式中添加display:flex
  • flex-direct决定排列方向,默认是row, 可以是row-reverse column-reverse colunm
  • justify-content:决定排列位置布局:

                flex-start:横向时分布在左侧,纵向时分布在上部

                flex-end:横向时分布在右侧,纵向时分布在下部

                space-between 边缘元素分布在两端,其他居中用空格分割

                space-around 类似上面的between,但是第一个和最后一个元素不固定在两端

                space-envenly 均匀分布

                center分布在中间

  • align-items决定排列布局,不过横向排列时纵向变化,纵向排列时横向变化

                flex-start:横向时分布在上部,纵向时分布在左侧

                flex-end:横向时分布在下部,纵向时分布在右侧                                

                center:横向时分布在纵向中间,纵向时分布在横向中间

                stretch:拉伸元素填满元素空间,横向时分布纵向填充,纵向时分布横向填充

                baseline:使用文本线对齐

  • flex-wrap决定当元素大小比元素空间大时再添加元素的方式

                nowrap

                wrap:横向另起一行,纵向另起一排

                wrap-reverse:反向添加:从下到上,从右到左 

  • flex-shrink

                缩小元素  1不变 2缩小一倍

  • flex-grow放大元素

                放大元素  1不变 2放大一倍 

  • flex-basis设置元素的初始大小

                flex-basis:10em/10px/80%(以前使用的长度单位都可以使用

  • 组合使用 

                flex: 2 2 150px;grow shrink basis

  •  元素摆放次序order

                order值小的在前面 

  • align-self元素自己调节自己的位置,参数和align-items一样

CSS grid

display:grid;

  • 给网格元素设置列

                display: grid;

                grid-template-columns: 100px 100px 100px; 参数的数量即列数,参数值为每个列的宽度

                grid-template-columns: repeat(3, 100px);3列,每列宽100px

                grid-template-columns: repeat(3, minmax(90px, 1fr));列宽可在90px到1fr之间变化

                grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));根据列宽自动扩展列

                grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));根据列宽自动拉伸列适应父元素大小

  • 给网格设置行

                grid-template-rows: 50px 50px;同设置列

                也可以写作:

                grid-template-rows: repeat(2,50px);两行,每行宽50px

  • 调节列间距

                grid-column-gap: 20px;

  • 调节行间距

                grid-row-gap: 5px;

grid-gap: 10px 20px;一次调节行列间距,两个参数依次表示行列间距

  • 调节元素占用的列宽

                grid-column: 2/4;起始线号/结束线号,两者之间的列为元素占用的列宽

                线编号规则如下图:

                

  •  调节元素占用的行宽

                grid-row: 2/4;同列宽设置

  •  调节每个元素在自己占据的小方块中的横向位置

                justify-self:start(在左边)/center(中间)/end(右边)

  •  调节每个元素在自己占据的小方块中的横向位置

                align-self:start(在上边)/center(中间)/end(下边)

  •  调节所有子元素在自己占据的小方块中的横向位置

                justify-items:start(在左边)/center(中间)/end(右边)

  •  调节所有子元素在自己占据的小方块中的横向位置

                align-items:start(在上边)/center(中间)/end(下边)

  • 划分网格区域并命名

                grid-template-areas:

                "header header header"

                "advert content content"

                "footer footer footer";

                名字相同的grid为一个区域。

  •  根据区域摆放子元素位置

                grid-area: footer;该元素会占用最下面的所有网格。

                grid-area: 3/1/4/4;行起始线/列起始线/行终结线/列终结线围起来的区域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值