前端(html,css)后面的技术慢慢补上

什么是doctype:

Doctype是document  type的简写,它不是一个标签,没有结束标签。它是一种标记语言的文档类型声明,即告诉浏览器当前HTML是用什么版本编写的。

注意:doctype或DocType doctype

Doctype的作用

声明文档的解释类型,避免浏览器出现怪异模式。

怪异模式:浏览器使用自己的怪异模式解释页面。正常模式:使用w3c的标准解释渲染页面。

 

HTML标签按照标签结构可分为两种:

单标签:

       <xxx>

       <xxx/>html5之前,需要加闭合斜杠,函数html5之后不这样写了

双标签

     <xxx>yy</xxx>双标签由开始标签,标签内容,结束标签组成。

不能自定义标签

 

HTML可以添加标签属性

<xxx p1=”v1” p2=”v2” p3>yyy</xxx>

开始标签{标签属性(属性名=“属性值”)}标签内容 结束标签

Html标签的开始标签可以添加属性,在标签名后面加空格然后添加属性,一个标签可以添加多个属性,多个属性用空格隔开。

 

标题heading:

            h1-h6

            h1为最大,h6为最小

默认样式:

       字体加粗;标题标签带有上下外边距,撑出元素之间的间距。

 

hr:水平分割线。

作用:

分割内容

默认样式:

        1px的边框线,上下有8px的外边距。

p标签:

     段落标签,块标签。

      默认样式:

              文本大小为16px,根据文本大小来调整外边框。

注意:浏览器会自动在段前段后添加空行。

 

br:换行标签

 

img图片插入标签:

属性:

Src:源,图片的路径。

图片路径:

     相对路径:

           同级:  ./     直接写图片名

           父级:../

绝对路径:

        包括盘符的路径。

         直接在网上复制图片地址。

alt:图片加载失败时的替换文本。

Title:图片标题,鼠标移动图片显示图片名称。

 <!-- 相对路径 -->

    <!-- <img src="星空.webp" alt="图片加载失败" title="星空"> -->

    <!-- <img src="../向日葵.webp" alt=""> -->

    <!-- <img src="./img/柯基.jpg" alt=""> -->

    <!-- 绝对路径 -->

    <!-- <img src="C:\Users\Administrator\Desktop/小猫.webp" alt=""> -->

    <!-- <img src="https://img1.baidu.com/it/u=724179003,4096104503&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500" alt=""> -->

a超链接标签

作用:实现页面的跳转。点击标签内容,跳转指定链接地址

属性:href超文本的指向,设置跳转到指定链接地址。

      Target:设置网页的打开方式,默认在本页面打开。

值:

    Self:在本窗口打开页面

    Blank:在新窗口打开页面

Title:超链接的名称

注意:当a标签没有添加href属性时,是占位符,标签累的文本为普通文本。

Tabindex:规定当前是中tab按键进行导航时元素的顺序值:number

 

div:

   标签的快标签

    注意:

         块元素在没有设置宽度的情况下,宽度默认为父元素的100%,高度靠内(如果没有内容,高度为0)

Span:普通文本标签

   默认样式:

文本默认大小为16PX,靠文本内容撑出大小

 

HTML文本格式化标签

b:粗体文本,没有特殊意义。

Strong:粗体文本,具有很强的强调意义,用于表示文本的重要性

i:斜体文本,没有特殊意义。

em:斜体文本,具有很强的强调意义,用于表示文本的重要性。

Sup定义上标。

Sub定义下标。

S:删除线文本,没有特殊意义。

del:删除线文本,具有很强的删除意义,表示被遗弃的内容。

U:表示查入文本,添加下划线,没有特殊意义

Ins:添加,插入文本,具有很强的添加意义,表示增加的内容。

Small:小号文本。

 

<nav>标记导航,对页面中重要的链接群使用

<header>页眉,通常包括logo,主导航,全站链接以及搜索框。

<main>页面的主要内容,一个页面只能使用一次,如果是微博应用,则包括其只要内容

<section>定义文档中的节点,比如:章节,页眉,页脚等。

<footer>页脚,只有父元素为body时才是整个页面的页脚

<articler>定义外部内容,显示像报纸一样的文章内容

<aside>定义所有内容之外的部分,如侧边栏,广告,产品相关的列表等

 

Css:

全称:css层叠样式表,是描述标记语言页面格式的标准(或语言)

Css使用开发人员对页面内容和可视化元素分离,实现刚好的页面和灵活

Css使用方法:

1. 内联样式:<p style=“color: red”;也叫行间样式,行间样式。在标签的开始标签内添加style属性设置CSS样式

2. 内嵌样式:也叫内部样式。在html的head标签并按照固定格式设置CSS样式如:

H2{

 

            }

3外部样式:也叫做外联样式。在为外部创建个css文件,在HTML文件中的head标签中使用link引入

优先级:

    正常情况:

             行内样式——内部样式——外部样式

     特殊情况:

行内样式————内部样式/外部样式(按照在头标签的先后顺序,以浏览器的执行顺序判断优先级)

 

Css选择器:

         通配符选择器:选择页面所有元素

格式:  *{     }

标签名选择器;选择页面中所有标签名为p的标签

格式:标签名{   };如p{   }

id选择器:选中页面中id值为first的元素,<p id=”first  ”

格式:#id值{    }

class选择器:类选择器,选中的是页面中所有class值中line的元素,class里面有多个元素

格式:  .class值{    }

 

id和class的区别:

1前缀不同,在css中class以”.”id以“#”为前缀。

2class可以添加多个类名,中间以空格隔开。Id只能有一个

3优先级:给同一个元素设置class类和id设置相同的css样式,优先级执行的是id选择器内的css样式。

4id的唯一性:在整个HTML页面中,一个ID值只能出现一次

 

 

 HTML语义化标签:

            根据内容的结构(内容语义化),选择合适的标签(代码语义化)。

            便于开发者阅读和理解,写出更好的更优雅的代码的同时,让浏览器的爬虫和机器更好的解析。

            HTML语义化的好处:

                1.为了在没有css的情况下,页面也能呈现出很好地网页结构和代码结构。

                2.代码结构清晰,方便阅读,有利于团队开发。

                3.方便搜索引擎识别页面,有利于SEO(搜索引擎优化)。

                4.方便其它设备解析(例如:屏幕浏览器,盲人阅读器,移动设备)以语义化的方式渲染页面。auto&app=138&f=JPEG?w=750&h=500" alt="">

 

 

 

选择页面中id值line,并且class中包含line的p标签。

        */

        /* p#line.line{

            background-color: aquamarine;

        }

 

<p id="line" class="line">第三行</p>页面。auto&app=138&f=JPEG?w=750&h=500" alt=""> -->

 

 

 

 

 

 

 

 

 

 

 

 

兄弟选择器:地位平等,给两个或者多个设置css样式相同时使用(节省代码空间)。

        */

        /* p,#box{

            font-size: 50px;

            color: cadetblue;

        }

 

<p id="first">第一行</p>

    <p class="line bold">第二行</p>

    <p id="line" class="line">第三行</p>

    <h4>第四行</h4>

    <div id="box" class="box">这是一个块

        <div>

            <span>文本内容</span>

        </div>

    </div> -->->

 

 

 "+" 相邻兄弟选择器,兄弟+兄弟

            选择所有紧接着p标签元素之后的第一个div标签。

        */

        div p+div{

            background-color: brown;

 

 

“~” 兄弟选择器,兄弟~兄弟

            选择同一个div父元素下的p元素之后的每一个ul元素的背景颜色。

        */

        div p~ul{

            background-color: burlywood;

        }

 

子选择器:

                格式:

                    ">"指向子元素。在嵌套中通过外层元素一层一层找到某个后代元素。

        */

        /* #box>div>h4{

            background-color: coral;

        } */

<div id="box" class="box">这是一个块

 

        <div>

            <h4>标题</h4>

        </div>

    </div>

 

 

 

后代选择器:祖孙选择器。

                在嵌套在通过外层元素直接找到/一层一层找到某个后代元素。

        */

        /* #box span{

            background-color: darkolivegreen;

        } */

<div id="box" class="box">这是一个块

        <div>

            <span>文本内容</span>

        </div>

    </div>

 

Style(规定元素的行内样式inline style)

如<div style=“width:200px; height:300px;”

 

Contenteditable(HTML新增):指定元素内容是否可以编辑

值:true 指定元素可编辑状态

   False 当元素没有设置contenteditable属性时元素将从父元素继承

如:

<div contenteditable=”true”>

<p>可以随便编辑</p>

</div>

 

Dir:规定元素内容的文本方向

值:auto:浏览器的判断文本方向,仅在文本方向未知时使用

   Ltr:默认值,从左到右的文本

Rtl:从右到左的文本

<p dir=“rtl”>正常文本,从左至右</p>

 

bdo定义字体的方向

<bdo dir=”rtl”>正常文本,从左到右

 

draggable(html5新增):固定元素是否可拖动。

   值:true 定义元素为可拖动状态

       False  定义元素不可推动状态

      Auto 浏览器默认特征

<p draggable=””>

 

hidden隐藏一个元素

<p  hidden>这是一段隐藏文本</P>

 

 

在HTMl中,如果需要显示<  >或 & 等特殊符号时:不能直接使用,否则浏览器会将它们误认为一个标签,需要使用惠特米勒转义字符进行转义

&nbsp;英文空格

&emsp;中文空格

&copy;版权

&reg;注册商标

&amp; &

&yen; ¥

&deg;。

 

样式继承:

1. 当父元素设置相同CSS样式,子元素会有相同的CSS样式

2. 当子元素和父元素相同的css样式时,子元素将覆盖父元素的css样式

3. 一般情况下,只有字体存在继承

通常会影响元素的位置的属性,元素的外边距,背景颜色,边框的属性不会被继承

 

Css基本样式

fong-size:设置元素的字体大小。

值:

number,数字。

单位:

     Px像素

 

text-decoration:文本装饰,可以设置下滑线或删除线。

值:

   none:清除

   Underline:添加下滑线

   overLine:添加顶部线

   Line-through:添加删除线

 

text-align:设置元素文本的对齐方式

值:

  center:文本水平居中。

  Left/start:水平居左

   Right/end:水平居右。

注意:当前属性对行内元素无效

 

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

 

font-weight:设置字体加粗。

值:

      normal:默认值,定义标准字体

      bold:粗体文本

      bolder:特粗体,相当于strong和b对象的作用。

      lighter:定义细体文本。

      100-900:定义字符的粗细,400等同于normal,700等同于bold

 

a标签默认有下划线,可以通过使用text-decoration:none;清除。

 

text-indent:设置段落首行缩进的距离

值:

number,数字

单位:em,相当于元素的字体大小。

 

Width:宽度

值:number

单位:

Px,像素

百分比%:占父元素宽度是父元素宽度的100%。行内元素的宽度靠文本撑开

 

height:高度

值:number

单位:px,像素

百分比%:占父元素高元素的百分之多少(要在父元素有固定高度的情况下使用)

注意:

  当元素没有设置高度时,靠内容撑开,内容是浮动元素/绝对定位/固定定位情况除外。

font-family:宋体(设置字体类型)

 

font-style: 设置字体风格

值:

normal:默认值,标准字体样式。

italic:定义斜体文本

inherit:规定当前元素继承父元素的字体样式

Oblique:文本为倾斜的状态

 

lin-height:设置行高,行间距

作用:

让文本在行间距内垂直居中,不允许使用负值

值:

Normal:默认值,设置和你的行间距

Number:数字。此数字会于字体大小相乘来设置行间距

百分比:%当前文字大小的百分比进行行间距

 

Letter-spacing:字间距,设置字符与字符之间的距离。

 

Letter-transform:文本转换

值:

  Uppercase:大写英文

  Lowercase:小写英文。

Capitalize:单词首字母大写

 

margin:元素的外边距。表示相邻元素或边距的距离。

值:

   一个值:表示四个方面的外边距。

   两个值:分别表示上下,左右

   三个值:分别表示上、左右、下

   四个值:分别表示上、右、下、左

   auto:表示间距平分

如:margin: 50px; */

            /* margin: 50px 100px; */

            /* margin: 50px 100px 150px; */

            /* margin: 50px 60px 70px 80px; */

            /* 定宽居中 */

            margin: 0 auto;

1使用颜色名:不建议直接使用颜色名,因为浏览器对颜色取值有差异

.color-name{

             Clocr

                   }

2百分比:

        三个值最大:白色

        三个值最小:黑色

         三个值相等灰色

那个百分比大就偏向那个颜色

如:

.percentage{

            color: rgb(33%,50%,90%);

           }

 

3数值:

      范围:0-255

  如:

        .number{

           color: rgb(150,60,80);

 

4十六进制

    使用前面添加#颜色符号。

如 

   .system{

            Color:#FFFFFF;

            }

 

5.rgba

               a:控制颜色的透视度

               取值范围:

                   0-1

                   0为完全透视,1为完全不透视

如:

.box{

           height: 100px;

           background-color: rgba(255, 0, 0, 0.205);

       }

 

<body>

   <div class="color_name">颜色名</div>

   <div class="percentage">百分比</div>

   <div class="number">数值</div>

   <div class="system">十六进制</div>

   <div class="box"></div>

hover显示隐藏文件(点击nnn显示fff的内容

如.nnn:hover>.fff{

display: block;

 

 

 

/* 插入背景图片 */

           background-image: url(./img/bg.jpg);

           /* 设置背景图片的尺寸 */

           background-size: 2000px 400px;

           /* 设置背景图片的位置,50%可以实现居中。 */

           background-position: 50% 50%;

 

display:block  设置元素的布局方式
   值:
         none:隐藏一个元素,隐藏后不会显示
         block:块元素
         inline:行元素
         inline-block:行内块元素

HtML标签按照布局方式可以分为三类:

行元素,块元素,行内块元素

块元素:

1. 独占一行;

2.可以设置宽高

2.1设置宽高,则显示默认宽高

2.2没有默认宽高,则显示内容的宽高

布局方式默认为块元素的有div,p, h1-h6等行元素:

行元素

1.不独占一行

2.不能设置宽高,宽高取决于自身内容

3.多个元素之间会左右排列,一行到最后排列不下时会自动换行布局方式默认为行元素的有:语义化标签,span, a等

行内块元素

1. 不独占一行

2.可以设置宽高

3.多个元素之间会左右排列,一行到最后排列不下时会自动换行布局方式默认为行内块元素有: button,img等

 

间隔:行元素和行内快元素

原因:

    htmp代码在书写的时候,为了保存美观,每个元素会单独写一行,所以元素之间会有很多空格和回车,这些空格和回车就会被浏览器解释成为一个空格。

解决方法:

1. 清楚元素之间的回车;例如把元素写在一行,或者把下一行的开始标签写在上一行的尾部。

2. 在文本后加空格。

3. 给元素添加间距

4. 给元素设置font-size:0;然后在单独设置文本大小。

 

 

基线对齐:

           正常情况下是为了让文本和图片进行对齐。

           两个或者多个元素在一行显示,会按照默认的对齐规则对齐(基线对齐)。

       基线:

           图片和空块的基线在元素的底部,文本的基线在文本的中下部分(四线三格的第三条线)。

           注意:

               元素中带有文本,默认元素的基线以文本的基线为准。

 vertical-align: 基线对齐方式。

                   值:

                       auto:默认值,按照浏览器的默认执行状态执行。

                       middle:中线对齐。

                       top:顶部对齐。

                       bottom:底部对齐。

                       baseline:文本基线对齐(四线三格的第三条线)。

 

 

Position:元素的定位方式

值:

1:static:默认值,静态定位

静态定位采用流试布局进行定位.不能通过方向(top,right,bottom,left)进行定位。

2:relative:相对定位

相对定位的元素还在文档的原有位置上,并且可以通过方向(top,right,bottom,static)进行定位

relative定位元素,相当于其在文档流中原有的位置进行定位。

3: absolute:绝对定位。

                   绝对定位的元素会脱离文档流,不在参与父元素的流式布局,不能撑开父元素,也不能知道参照父元素进行尺寸设置。

                   absolute定位之后,如果不使用方向(top,right,bottom,left)进行定位,那么元素会在它原有的位置。

                   absolute定位的元素,相对于离自己最近的position为非static的祖先元素进行定位。

                   子绝父相:

                       如果想要绝对定位的元素相对于父元素进行定位,那么最简单的方法就是将父元素设置为相对定位。

4:fixed固定定位

     固定定位的元素会脱离文档,相当于根元素进行定位,页面滚动不随页面,免的滚动而滚动。

 

Top:0;(上),right:0;(左),bottom:0;(下),static

表格:

Table:定义表格

     Table不设置宽度时,宽度被内容撑开。

      设置了宽度且内部的td不设置宽度时,td会按照内容的比例拉伸

Caption:表格标题(文本默认在表格水平居中的位置)。

Thead:定义表格表头。可以省略,浏览器解释时会自动添加。

tr:表格的行

th:定义表格行

tbody表格的主体部分。 可以省略,浏览器解析时会自动添加

td:定义标准单元格

rowspan:用于设置本单元格占几行

<td rowspan="6">金肯2班</td>

colspan:用于设置本单元格占几列

<td colspan="2">59</td>

 

 

/* 删除列表的前缀 */

           list-style: none;.

 

列表:

           1.无序列表(常用在导航)

 

               ul:定义无序列表

                   默认样式:

                       有上下外边距16px,值会根据内容的文本大小改变。

                       左内边距40px。

               li:列表的项。

               注意:

                   默认样式为“圆点”,可以通过css样式改变。

           

           2.有序列表

               ol:定义有序列表

                   默认样式:

                       有上下外边距16px,值会根据内容的文本大小改变。

                       左内边距40px。

               li:列表的项。

               注意:

                   默认样式为“阿拉伯数字”,可以通过css样式改变。

                   type:列表的类型。

                       值:

                           1:阿拉伯数字

                           A:大写英文字母

                           a:小写英文字母

                           I:大写罗马数字

                           i:小写罗马数字

           

           3.自定义列表(定义底部导航群)

               dl:定义自定义列表。

                   默认样式:

                       有上下外边距16px,值会根据内容的文本大小改变。

               dt:定义列表项。

               dd:定义列表项的描述。

                   默认样式:

                       左外边距40px。

 

伪类:在一定条件下才能触发的样式

:hover 当鼠标指针在元素上悬停时触发

:visited  a标签的作用伪类,表示访问。

:focus 当元素成为焦点时出发。用户可以交互的元素才还能称为焦点,一个页面中同一时刻只有一个元素能成为焦点。

:active  当元素被鼠标按下时触发

::first-line  第一行

::first-letter元素文本内容的第一个字

::after 后缀伪元素

Content  后缀内容

::berore  前缀伪元素

Content前缀内容

 

Button按钮

 

Padding:内边距

       

border:是边框属性

     值

说明

border-width

指定边框的宽度

border-style

指定边框的样式

border-color

指定边框的颜色

inherit

指定应该从父元素继承border属性值

border-bottom: none添加低边框

 

List-style-type:设置列表标记的类型

值:disc:默认值,标记是实心圆

 None:无标记

Circle:标记是空心小圆点

Square:标记是小方块。

Decimal:标记数据

Decimal-leading-zero:标记是0开头的数字标记。01,02,03等

Lower-romaan:标记是小写罗马数字i,ii,iii等。

Upper-roman:标记是大写罗马数字I,II,III,等

Lower-alpha:标记小写英文

upper-alpha:标记是大写英文

 

  把标签的hre数字设置为#XXX时,点击a标签里面立即滚动到id值为xxx的元素的位置

如:

<ul>

       <li><a href="#box1">第一块</a></li>

    </ul>

<div id="box1" class="box">第一块</div>

 

Form:创建表单

action:当表单提交时将表单的内容发往何处

如:<form action="#">

 

input:定义输入框,按钮等。

属性:

    Text:文本输入框

    Password:密码输入框。

    Button:按钮

    Submit:提交按钮,会把表单内的内容提交给服务器

    Reset:重置按钮,清单表单内所有的数据

    file:文件上传按钮

    image:定义图片形式的提交按钮。必须把sru属性和image结合使用

    radio:单选框。

Name:定义input输入框的名称

Value:定义input的初始值

Placeholder:定义文本输入的提示音

Required:必须输入内容,不能为空。

Readonly:定义input为只读模式

Dissabled:禁用input元素。

Maxlangth:最多可输入多少字符

Size:文本框的宽度。

如<input type="text" name="" id="" disabled>

           <input type="submit">

label:给input添加标注。

                   for:为了让input和label进行绑定。

                   for的值跟input的值相同。

<label for="account">账号:</label>

           <input type="text" name="account" id="account" placeholder="请输入账号" maxlength="11">

 

 

<input type="button" value="按钮">

button:按钮。

 value:按钮的标题。

 submit:提交按钮,会把表单内的 内容提交给服务器。

 reset:重置按钮,清空表单内所有的数据

  file:文件上传按钮

  accept:规定了文件上传的类型

 

<label for="checkbox1">复选框1</label>

       <input type="checkbox" id="checkbox1">

checkbox:定义多选框,复选框

 

radio:单选框

<input type="radio" name="fruit" id="fruit1" value="苹果">

       <label for="fruit1">苹果</label>

 

下拉菜单

<select name="" id="">

           <option value="1">火狐</option>

           <option value="1">谷歌</option>

</select>

 

 

 

fieldset:将表单内容进行分组,会产生一个2px边框,内边距10px,12px,左右外边距2px。

  legend:legend是fieldset元素定义的标题。默认在分组框的上边框内,可以左右移动。

    optgroup:定义选项组。

        label:添加选项组的描述。

          option:定义类表中的一个选项内

 

 

<fieldset>

           <legend>分主标题</legend>

       </fieldset>

       <!-- 分组下拉菜单 -->

       <select name="" id="">

           <optgroup label="上午">

               <option value="1">语文</option>

               <option value="2">数学</option>

               <option value="3">英语</option>

           </optgroup>

           <optgroup label="下午">

               <option value="1">语文</option>

               <option value="2">数学</option>

               <option value="3">英语</option>

           </optgroup>

 

 

设置背景图片

注意:当图片比较小的时,默认会以平铺的方式铺满整个背景区域。

Background-image:url(       )

Background-image:设置背景图片是否重复显示。

 值:

                Repeat:默认值,重复显示。

                 no-repeat:不重复

                 Repeat-x:水平方向重复

                 Repeat-y:垂直方向重复

                 Round:保存图片的完整性,根据背景区域的大小图片相对应拉伸填。

                 Space:保存图片大小平铺满整个背景区域,剩余空间作为图片之间额间隙平分。

 

Background-attachment:背景固定,背景图片时候随着页面的其余部分滚动

       值:

            Scroll:默认值,背景图片会随着滚动条滚动。

             fixed:背景图片不会随着滚动

Backgroud-position:设置背景图片横向和纵向的位置;默认为0  0

 

Background-size:设置背景图片的尺寸,分别表示宽和高。

设置背景图片仅设置一个方向就可以,另一个方向根据大小自动缩放。

值:

Number:

     一个值:该值将作用于X轴,高度为auto。此时高度以x轴为参考经行比例缩放。

两个值:分别作于x轴和y轴。

单位:

     Px:像素。

     百分比%:以容器的大小作为标准计算。

Contain:更具图片的最小值设置图片的大小。将图片比例收缩,图片会始终在容器之内,容器范围有可能会完全被覆盖。

Cover:根据图片的最大值设置图片的大小。将图片比例收缩至安全覆盖整个容器,图片可能会超出容器

 

 

 

元素内容溢出

Overflow:设置溢出的内容显示方式

     值:visible:默认值,元素溢出的内容不会隐藏,溢出内容会出现在元素大小之外

         Hidden:元素内容溢出隐藏

          Scroll:溢出的内容可以滚动查看

           auto:隐藏溢出的内容,出现滚动条

单独设置方向

Overflow-x:hidden

Overflow-y:hidden

 

text-overflow:溢出文本以什么方式隐藏(配合overflow:hidden;)

             Ellipsis:隐藏溢出文本元素,以。。。。为尾缀

white-space: nowrap;文本不换行

 

p:nth-of-type(2)指定每个p元素匹配同类型中的第2个同级兄弟元素

 

 

什么是精灵图片:

           精灵图片就是把多张图片放到一张大的图片上。

           当做背景图片插入。

           之所以要将多张图片放到一张图片上,是因为很多背景图片是放到服务器上面的,当需要使用某张图片的时候需要向服务器发送请求,如果图片过多时服务器的压力就比较大,所以精灵图片可以减轻服务器压力。

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

如: width: 50px;

           height: 50px;

           background-size: 350px 350px;

           background-position: 150px 250px;

           background-position: -200px -100px;

           background-size: 700% 700%;

           background-position: 300% 500%;

           background-position: -400% -200%;

 

Px单位设计50*50

            7*7

           50*7=350px

%比设计:元素大小287px=100%

                   7*100%=700%

                 700%*700%

border边框

Border-style:边框样式

值:solid:定义实线

    Double:定义双实线

     Dashed:定义虚线

       None:定义无边框

       Dotted:定义点状线

      groove:3D隆起效果

border-width:边框粗细,元素只添加border-style时,默认宽度是3px

Border-color:边框颜色,元素添加border-style时,默认颜色是黑色或灰色(3D)。

 圆角设置:

          border-radius:圆角。

           百分比,最大值50%之后不再会有变化

    box-shadow: inset px px px red,-5px -5px 5px green;

第一个数值:阴影距离盒子左右的距离,正值往右,负值相反,0盒子正下方

第二个数值:阴影距离盒子上下的距离,正值往下,负值相反,0盒子正下方

第三个数值:阴影的清晰度,值不能为负。值越大阴影会以渐变的形式呈椭圆形向外扩散。

第四个值:阴影的颜色

可以给一个元素添加多个阴影,值之间以逗号隔开。

 

text-shadow:5px 5px 5px red,-5px,-5px 5px green;

第一个数值:阴影距离文本左右的距离,正值往右,负值相反,o文本正方

第二数值:阴影距离文本上下的距离,正值往下,负值相反,0盒子正下方

第三个数值:阴影的清晰度,值不能为负。值越大阴影会以渐变的形式呈椭圆形向外扩散。

第四个值:阴影的颜色

可以给一个元素添加多个阴影,值之间以逗号隔开。

 

Border-radius:30%

圆角设置仅仅是设置了边框和背景颜色,元素内容还是原来的矩形

 

 

盒子模型

1内容盒子content-box,标准盒子模型

改变内边距和边距的大小,内容不变

标签的大小=content(width+height) + padding + border。

 

 2.边框盒子border-box,IE盒模型。

    改变内边距和边框的大小,内容也会发生改变。

     标签的大小=content(width+height)

        注意:

        当边框盒内边距的值超出content的大小,也能撑大盒子。

 

 

box-sizing: 标签尺寸的设置方式。

                   值:

                       content-box:默认值,标准盒子模型,计算宽高时按照内容的宽高进行计算。

                       border-box:怪异盒子模型,计算宽高时,把边框盒内边距计算到元素之内。

 

一个元素从内到外可分为四部分:

           内容(content),内间距(padding),边框(border),外间距(margin)。

   

       margin:外边距

           作用:

               元素添加外间距后,会移动元素之间的位置,调整元素与元素之间的距离。

           距离:

               从只是的边框开始,到另一个元素边框之间的距离。

       padding:内边距

           作用:

               能撑大盒子,调整元素内容的位置。

           距离:

               从元素的边框开始到内部内容之间的距离。

默认情况下,给元素设置宽高,设置的是元素内容的宽高,不包含边框和内边距。

 

 

margin的合并:快级元素的上外边距和下外边距有时候会进行合并。

Margin合并只发送在块级元素(浮动或绝对值或固定定位除外)之间。

Marhion合并的几种情况:

1. 相邻兄弟之间的margin合并;

2. 父级元素中的第一个元素和最后一个元素外边距会穿透父元素,表现为父元素的外边框,距离,这个情况叫做父盒子塌陷(给子元素设置margin-top父元素跟着一起移动)。

         解决方法:

1. 给父元素添加边框

2. 给父元素添加padding(值不能小于或等于0即可)

3. 给父元素添加overflow:hidden;溢出元素部分的内容会隐藏。

空快元素的margin合并

Margin合并的规则:

正正取最大,正父值相加,负负取最小。

 

 

Margin-top合并解决方法:

1. 父元素设置为快状格式化上下文

2. 给父元素设置border-top值

3. 给父元素设置padding-top值

4. 父元素和第一个子元素之间添加内联元素进行分割

 

margin-bottom合并解决方法:
        1.父元素设置为块状格式化上下文。
        2.父元素设置border-bottom值。
        3.给父元素设置padding-bottom值。
        4.父元素和最后一个子元素之间添加内联元素进行分割。

 

快状格式上下文:BFC

如果一个元素符合BFC的条件,该元素内部会行成一个独立的容器,元素内部元素会垂直沿着父元素的边框排列,和外部元素互不干扰。

触发BFC的条件:

1. 浮动元素,float:none;除外。

2. 绝对定位和固定定位,position: absolute/fixed;

3. Display 为以下之中一个值inline-block等出快级元素之外。

4. Overflow除了visible以外的值

 

  不让空div有margin合并的操作:
        1.设置垂直方向的边框border;
        2.设置垂直方向的padding;
        3.在元素内部添加内联元素;
        4.设置height。

 

 

使用浮动布局,在最后一个浮动元素结束的地方清除浮动,会影响后续的页面,与会导致元素不能根据内容显示高度。

Clear:both

 

什么是浮动:

 浮动元素本意是为了让文本环绕图片,但是发现浮动元素可以宽高或内联排序,是介于inline和block之间的一个特别的存在,再inline-block出来之后,浮动都有自己独特的使用场景。直接遇到父级元素或者同级浮动元素的边沿时停下,多个浮动元素相遇会按照内容排列方式进行排列。

 

使用方式:

     给元素直接添加float:left/right/none;

值:

none:默认值,元素不浮动,并会显示其文档流中出现的位置。

Left:向左浮动,会在页面会父元素的左侧。

Right:向右浮动,会在页面会父元素的右侧。

 

 

 

 

 

 

 

清除浮动的方法:

1.父级div定义 height

原理:

   父级div手动定义height,就解决了父级div无法知道获得高度的问题。

优点:

   简单,代码少,容易掌握。

缺点:

   只适合高度固定的布局,要给精确的高度,如果高度和父级div不一样时,会产生新问题。

建议:

   只建议在高度固定的布局使用。

 

2.结尾处添加空div clear: both;

原理:

   添加一个空div,利用css提供的clear: both;清除浮动,让父元素知道获取到高度。

优点:

   简单,代码少,容易掌握,浏览器支持。

缺点:

   不明白原理;如果页面浮动布局较多,就要增加很多空div,给人感觉很不好。

建议:

   初学者使用较多。

3.父级div定义:after 和zoom

原理:

   IE8以上和非IE浏览器才支持:after,原理和方法2有点类似,zoom是IE的专有属性,可以解决IE6,IE7,浮动问题。

优点:

   浏览器支持,不容易出现怪问题。

缺点:

   代码多;原理不理解;要两句结合使用菜能让主流浏览器都支持。

建议:

   推荐使用,建议设置公共类,一件事css代码。

 

   .clear-fix::after{

       content: "";

       display: block;

       clear: both;

       visibility: hidden;

       height: 0;

   }

   .clear-fix{

       zoom: 1;}

4.父级元素定义 overflow: hidden;

原理

   必须从定义width或zoom: 1;同时不能定义height,使用overflow: hidden;浏览器会自动检测浮动区域的height。

优点:

   代码少,浏览器支持。

缺点:

   不能喝position结合使用,因为超出的部分会隐藏。

建议:

   没有使用position或对overflow: hidden;理解比较深刻的人使用。

5.父级div定义 overflow: auto;

原理:

   必须从定义width或zoom: 1;同时不能定义height,使用overflow: auto;浏览器会自动检测浮动区域的height。

优点:

   代码少,浏览器支持。

缺点:

   内部高度超过父div时,会出现滚动条。

建议:

   不建议使用,如果你能确保不出现滚动条或你需要出现滚动条使用。

6.父级div 也一起浮动

原理:

   所有代码一起浮动,就变成了一个整体。

优点:无

缺点:会产生新的浮动问题。

建议:

   制作了解。

7.父级div 定义display: table;

原理:

   将div属性变成表格。

优点:无

缺点:会产生新的未知问题。

建议:

   制作了解。

8.结尾处添加br标签 clear: both;

原理:

   父级div定义zoom: 1;来解决IE浮动问题,结尾处添加br标签 clear: both;

 

 

 

 

 

弹性布局:

 display: flex

 

   又称为flex布局,是css3.0新增的布局方式。弹性布局,用来给盒模型提供最大的灵活性。任何一个容器都有可以被设置为弹性布局。

采用flex布局的标签,父元素被称为flex容器,简称“容器”。成为容器成员,子元素被称为flex项目,简称“项目”

flex布局默认有:容器属性和项目属性。

容器默认存在两根轴线:容器属性和项目属性。

容器默认存在两根轴线:水平方向的主轴,垂直方向的交叉轴

 

flex布局,设置给父元素。设置给父元素。会影响本元素的子元素的布局方式。

flex中,子元素不再使用原有的流试布局,而是参与flex布局。无论是快元素还是行元素,都会按照flex的方向进行排列。

 

Flex-direction:设置flex布局项目的排列方向。

值:

   row:默认值,项目从左往右主轴排列,起点在左端。

   row-reverse:项目从右往左主轴排列,起点在右端。

   Cloumn:项目从上往下交叉排列,起点在顶点。

   Column-reverse:项目从下往上交叉轴排序,起点在底端。

 

注意:

    项目从左往右排列,起始线在左端,反之则在右端。

Justify-content:定义项目在主轴上的对齐方式

     值:flex-start:使用项目在起始线对齐。

         Flex-end:所有项目在终止线对齐。

         Center:所有项目在中间线对齐;居中。

Space-around:项目两端间距对齐,项目之间的间距相等,是项目到两端的2倍。

space-between:项目两端对齐,项目中间的间距相等。

space-evenly:项目之间的间距与项目到两端的间距相等。

 

 

align-items:定义项目在交叉轴如何对其。

   值:

       Center:项目在交叉轴中点对齐。

       flex-start:项目在交叉轴的起点对齐

       flex-end:项目在交叉轴的终点对齐

 

flex-wrap:定义项目在主轴一行排列下不时如何换行

   值:nowrap:默认值,不换行

        Wrap:换行显示,第一行在上方。

        Wrap-reverse:换行显示,第一行在下方。

 

align-content: 定义多根轴线在交叉轴如何对齐。 

 如果项目只有一根轴线,则该属性不起作用。

值:

   flex-start:多根轴线在交叉轴的起始点对齐。

   flex-end:多根轴线在交叉轴的终点对齐。

  center:多根轴线在交叉轴的中点对齐;居中。

   space-around:轴线两端间距对齐,轴线之间的间距相等,是轴线两端的2倍。

space-between:多根轴线在交叉轴两端对齐,轴线之间的间距相等。

space-evenly:轴线两端的间距与轴线之间的间距相等。

 

 

order:定义项目的排列顺序。

                   值:

                       number,数字,默认值为0,值越小越靠前

 

 

 

flex-grow: 定义项目的放大比例。允许单个项目与其他的项目在交叉轴有不同的对齐方式

  值:

number,存在剩余空间,也不放大。放大的空间为主轴的剩余空间。

Center:项目在交叉轴中点对齐。

       flex-start:项目在交叉轴的起点对齐

       flex-end:项目在交叉轴的终点对齐

 

 

flex-basis: 定义项目占据的主轴

 

 

 

flex-shrink:定义项目的缩小比例。

                   值:

                       number,默认值为1。当空间不足时,该项目将缩小。

                       如果所有项目flex-shrink都为1,表示当前空间不足时,都将等比例缩小。

                       如果flex-shrink属性取值为0时,表示当空间不足时,项目不缩小。

                       flex-shrink:属性取值越大,表示当空间不足时,项目缩小的越快,空间缩小的越厉害。

 

过度写到本身上,谁做动画给谁加

如:transition:all  0.3s;

 

时间差

Animation-delay:0.4S;

 

 

2D转换

Ransform (css3中具有颠覆性的特征之一,可以实现元素的位移,旋转,缩放等效果)

值:translate(X,Y),  x就是x轴上位移   y就是y轴上移动位置,中间用逗号分隔,单位px ,%(盒子往上(负)走自己的高度的%)或translateX(n);X大写或translateY(y);y大写

     Rotate(xdeg,ydeg):旋转度数单位deg 

  Origin:旋转中心点(默认中心点)如:transform-origin:left bottom(可以跟方位名词定位 )ransform-origin:50px  50px;(可以根据px像素)

Scale(x,y):里面写的数字不跟单位,就是倍数的意思1就是1倍   2就是两倍,写一个数字宽高的改变,负数就是缩小

 

 Ransform :translate(X,Y) Rotate(xdeg,ydeg)Origin()同时转换

 

 

动画是CsS中具有颠簸性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果

1定义动画:

         @keyframes 动画名词{

         /*开始标签*/

0%{

   Width:100px(可以换成其他要求,不一定非要使用width)

}

/*结束状态*/

100%{

   Width:2000px(可以换成其他要求,不一定非要使用width)

}

}

      

 2调用动画:

Div{

     /*调用动画*/

animation-name: 动画名称;

/*持续时间*/

Animation-duration: 持续时间S ;

}

 

动画序列

1可以做多少个状态的变化keyframe

2里面的百分比要是整数

3里面的百分比就是总数时间的刮分

 

 

 

动画常用属性:

animation-name规定@keyframes动画的名称(必须要的)

animation-duration规定动画完成一个周期所花费的秒,默认是0(必须要的)

animation-timing-function规定动画的速度曲线默认是ease

                 值:linear动画从头到尾的速度是相同的,匀速

                     Ease默认,动画以低速开始,然后加快,在结束前变慢。

                     Ease-in动画以低速度开始

                      ease-out动画抵速结束

                       ease-in-out动画以低速开始和结束

                       Steos()指定了时间函数中的间隔数量(步长)

animation-delay规定动画何时开始,默认是0。

animation-iteration-count规定动画被播放的次数,默认是1,还有infinite(无数次)

animation-direction规定动画是否在下一个周期逆像播放,默认是normal,逆像播放alternate

animation-play-state:规定动画是否正在运行或暂停,默认是running,还有paused暂停状态

animation-fill-mode规定动画结束后状态,保持foewaeds,回到起始backwaeds

 

 

3D必须加的transform-style:preserve-3d;

3D位移:transform:Translate3d( x,y,z )单位px

值:translateZ()

             TranslateX()

              Ranslatey()

             Translate3d( x,y,z )

 

透视

Perspective:1200px;(在父元素中使用

Transform:perspective(1200px)(在子元素中使用)

如果当你的视线距离物体足够远的时候,基本上就不会有近大远小的感觉

Perspective-origin:left right top botten (观察3d元素角度位置)

 

旋转

Transform:rotate3d(x ,y,z)

     值rotateX()

       rotateY()

        rotateZ()

 

3D缩放

   Transform:scale3d(X,Y,Z) 单位deg

         值: scaleX

              ScaleY

              scaleZ

注意:scale()和scale3d()函数单独使用没有任何效果,需要配合其他的变形函数一起使用采有效果

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web前端开发技术是指通过使用HTMLCSS和JavaScript等技术,构建和开发网站的前端部分。 HTML(超文本标记语言)是一种标记语言,用于描述网页的结构和内容。通过使用标签和属性,可以进行文本、图片、链接等的定义和排版,实现页面的基本布局。 CSS(层叠样式表)是一种用于描述网页样式的语言。通过使用选择器和属性,可以定义页面元素的样式,包括颜色、字体、边框、背景等。CSS可以使网页实现更好的外观和可读性。 JavaScript是一种基于对象和事件驱动的脚本语言,用于实现网页的动态和交互效果。通过JavaScript,可以对页面元素进行操作、响应用户事件、进行表单验证等,增强用户体验和交互性。 作为Web前端开发者,需要熟练掌握HTMLCSS和JavaScript等技术。首先,使用HTML构建页面的骨架和内容,确定页面的结构和布局。接着,使用CSS对页面进行美化和样式定义,增加页面的吸引力和可读性。最后,借助JavaScript实现页面的动态效果和交互功能,提高用户体验。 当然,Web前端开发技术不仅仅限于HTMLCSS和JavaScript,还涉及到其他技术和框架,例如响应式设计、前端框架(如React、Vue.js)、跨平台开发等。随着互联网和移动互联网的快速发展,Web前端开发也在不断进化,因此持续学习和掌握最新的前端技术是非常重要的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值