HTML标签和CSS个人总结

时间:2021-12-07 13:47:15

一、HTML标签

HTML标签可以分为块标签,内联标签和内联块。

1、块标签block:div p h1-h6 ul li ol li dl dd dt 。
特点:a、支持任何的样式。b、独占一行。c、不设置宽度时(不等于width:0;),宽度默认充满整行。
2、内联标签inline: a span time em mark
特点:a、不支持宽高(设置后无效)。b、可以在一行显示。c、宽度由内容撑开。d、换行被解析成空格(标签内容和标签之间的换行都是解析成空格)。e、无法设置上下margin 只有左右margin。
3、内联块inline-block:img。
特点:a、支持宽高。b、可以在一行显示。c、换行被解析成空格。

关于display

display用于表示元素的展示陈列方式。
display:block,把元素转换成块便签,让标签拥有块标签的特点。
display:inline,把元素转换成内联标签,让标签拥有内联标签的特点。
display:inline-block,,把元素转换成内联块,让标签拥有内联块的特点。
display:table,表单元素。
display:none, 元素隐藏 它的位置都没有了 。

最常用标签介绍

div:盒子标签 划分区域。
p:段落便签 每个段落之间会有间距。
a:1、 超链接 2、下载 跟压缩包(href直接放压缩包的路径,点击就会下载) 3、锚点(href=”#+id”点击就会定位到对应id的位置)。
ul:导航类标签(无序列表),每一条导航用

  • 表示。
    ol:导航类标签(无序列表),会在每个导航前加上序号,type=”a”表示用字母表示序号,type=”1”用数字表示序号,start=”2“表示序号从第二个开始。ol用得非常少。
    b:标签规定粗体文本。
    big:标签呈现大号字体效果。
    body:元素定义文档的主体
    span:可拥有操作字体样式。
    br:可插入一个简单的换行符。
    br 标签是空标签(意味着它没有结束标签,因此这是错误的:
    )。在 XHTML 中,把结束标签放在开始标签中,也就是<br />
    button: 标签定义一个按钮。
    center:对其所包括的文本进行水平居中。
    dialog: 标签定义对话框或窗口。
    dl: 标签定义了定义列表(definition list)。
    dt: 标签定义了定义列表中的项目(即术语部分)。
    form: 标签用于为用户输入创建 HTML 表单。
    h1-h6:标题。
    head: 标签用于定义文档的头部,它是所有头部元素的容器。 中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等。
    hr: 标签在 HTML 页面中创建一条水平线。
    img: 元素向网页中嵌入一幅图像。
    input: 标签用于搜集用户信息。
    label: 标签为 input 元素定义标注(标记)。
    li: 标签定义列表项目。
    option: 元素定义下拉列表中的一个选项(一个条目)。
    progress: 标签标示任务的进度(进程)。
    script: 标签用于定义客户端脚本,比如 JavaScript。
    select: 元素可创建单选或多选菜单。
    source: 标签为媒介元素(比如 <video><audio>)定义媒介资源。
    span: 标签被用来组合文档中的行内元素。
    style:标签用于为 HTML 文档定义样式信息。
    table: 标签定义 HTML 表格。简单的 HTML 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成。tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元。
    tbody: 标签表格主体(正文)。该标签用于组合 HTML 表格的主体内容。
    td: 标签定义 HTML 表格中的标准单元格。
    th:定义表格内的表头单元格。
    thead:标签定义表格的表头。该标签用于组合 HTML 表格的表头内容。
    time: 标签用于包含时间,不会在任何浏览器中呈现任何特殊效果。
    title: 元素可定义文档的标题。
    tr: 标签定义 HTML 表格中的行。
    u: 标签可定义下划线文本。
    ul: 标签定义无序列表。
    video: 标签定义视频,比如电影片段或其他视频流。

    二、CSS样式

    1、可以在HTML文件中的head部分定义stsyle标签,在里面定义各种样式,详细用法如下:

    <style>
    /*设置样式*/
    /*给某个标签声明样式的时候,声明了什么属性,该属性的指就会覆盖原有的属性值,没有声明的就还是用默认值*/
    h2{
    margin:0;//周围占用的空间为0
    font-weight: normal
    ;//字体不加粗
    }

    a{
    text-decoration: none;//没有下滑线
    }

    ul{
    margin:0;
    }

    li{
    list-style: none;//去掉导航的点
    }

    .title{
    font-size: 18px;
    }

    /*可以通过 ".class名" 来定义样式名称并设置样式 这叫类选择器 并且父标签的样式属性值会作用于子标签上*/
    .title a{
    color: #333333;
    }

    /*可以通过 ".class名 便签名"来定义设置了某个样式的标签的子标签的样式*/
    .list li{
    float:left;
    width:173px;
    height:120px;
    }

    .list li img{
    width:173px;
    height:120px;
    }

    /*可以通过 ".class名 便签名 标签名"来定义设置了某个样式的标签的子标签的子标签样式,也就是说可以跨层定义标签样式*/
    #div1{

    border:1px solid blue !important;
    }

    /*可以用"#+id名称"来给指定id元素配置样式,并且
    css选择器的优先级
    !important>style>id>class>群组选择器标签
    总体上说谁的范围小 谁的优先级就高,!important除外
    * */

    .div2>.p1{
    border:1px solid red;
    }

    /**
    后代选择器
    所有后代.div 元素
    div>元素 直接后代 不能隔代 **/

    </style>

    2、css样式单独写在css文件中,

    在css文件中直接写css样式代码,不用被任何标签包围。例如:

    div{
    width:80px;
    height:80px;
    border:1px solid green;
    }

    然后在需要应用的HTML文件中引入即可使用,引用方法如下:

    补充:href的值是引入的css文件的路径,rel=”stylesheet”告诉浏览器引入的是样式表。
    每个HTML文件可以引入多个css文件,没有限制。
    一个css文件也可以同时被多个HTML文件引用。

    3、css属性

    a、padding:造成盒子整体变大,并不是内容变大,背景会一直铺到padding区,如果没有padding ,背景的宽度就是width的宽度,高度同理。

    padding-top:上
    padding-right:右
    padding-bottom:下
    padding-left:左
    padding 一个值 上 右 下左 都是这个值
    padding 二个值 上下 左右
    padding 三个值 上 左右 下
    padding 四个值 上 右 下 左
    盒子总体宽度大小=width+边框+左右padding
    盒子总体高度大小=height+边框+上下padding

    b、margin:外边距,边框以外的部分,背景并不会铺到margin的区域。

    margin可以改变元素的位置
    margin 一个值 上 右 下左 都是这个值
    margin 二个值 上下 左右
    margin 三个值 上 左右 下
    margin 四个值 上 右 下 左
    margin-top:上
    margin-right:右
    margin-bottom:下
    margin-left:左

    margin的重叠

    当相邻的元素出现垂直的margin的时候,margin会重叠,如果垂直方向的2个值不一样,元素间的距离会以margin比较大的为准。

    margin的传递

    当父子级结构的时候,子级设置了垂直方向的margin会传递给父级,当父元素没有设置垂直的margin值的时候,就像是子元素把垂直margin的值赋值给父元素的垂直margin的值,当父元素有垂直margin值的时候,父元素与其他元素的垂直距离取,父子元素中垂直margin比较大的那个。左右方向的margin父子元素互不影响。
    那如果子元素想设置与父元素的周边(父元素的外围,上下左右)的距离,该怎么做呢?
    1、 给父级加边框
    2、 在父元素设置padding,要注意父元素设置了padding体积会变大,若想保持原来大小,要将宽高减去padding。

    补充

    当不同标签设置同样属性值时,可以用“,”隔开,然后把要设置的样式属性写在一起,例如:
    p,body{
    margin:0;
    }

    三、小知识点

    1、去掉导航的点
    li{
    list-style: none;
    }
    2、让字体在该容器内垂直居中的方法:
    line-height:容器的高度;
    3、内联标签不能放块标签。
    4、脱离文档流的元素设置margin没有用。
    未完待续。。。