美文网首页html学习
前端笔记 —HTML&CSS

前端笔记 —HTML&CSS

作者: ALLIN5 | 来源:发表于2018-08-26 09:37 被阅读25次

    一、前端页面开发流程

    1、创建页面项目目录(css文件夹,images文件夹,js文件夹,html文件
    2、使用Photoshop对效果图切图,切出网页制作中需要的小图片
    3、将装饰类图像合并,制作成雪碧图
    4、结合Photoshop和代码编辑器,参照效果图,进行html和css代码书写,制作页面


    二、前端主体结构及分工

    1、HTML:页面结构
    2、CSS:页面表现:元素大小、颜色、位置、隐藏或显示、部分动画效果
    3、JavaScript:页面行为:部分动画效果、页面与用户的交互、页面功能


    三、页面布局的方式

    1、table布局:通过table元素将页面空间划分成若干个单元格,将文字或图片等元素放入单元格中,隐藏表格的边框,从而实现布局。这种布局方式也叫传统布局,目前主要使用在EDM(广告邮件中的页面)中,主流的布局方式不用这种

    2、HTML+CSS布局(DIV+CSS):主要通过CSS样式设置来布局文字或图片等元素,需要用到CSS盒子模型、盒子类型、CSS浮动、CSS定位、CSS背景图定位等知识来布局,它比传统布局要复杂,目前是主流的布局方式


    四、详叙——HTML(负责文档的结构和内容)

    1、html基本结构

    <!DOCTYPE html>   文档声明
    <html lang="en">   定义网页的语言
        <head>      负责对网页进行一些设置以及定义标题      
            <meta charset="UTF-8">
            <title>网页标题</title>
        </head>
        <body>   
              编写网页显示内容
        </body>
    </html>
    

    注:“<head>”标签里面负责对网页进行一些设置以及定义标题,设置包括定义网页的编码格式,外链css样式文件和javascript文件等,设置的内容不会显示在网页上,标题的内容会显示在标题栏;

    2、html文档类型

    目前常用的两种文档类型是 xhtml 1.0 和 html5(此版本使用越来越多);

    3、html常用标签

    • 标题标签:<h1>、<h2>、<h3>、<h4>、<h5>、<h6>
    • 段落标签:<p> — 默认有上下间距
    • 换行标签:<br />
    • 块标签(块元素):<div>
    • 行内标签(行内元素):
    <span> :没有具体语义
    <em> :表示语气中的强调词
    <i> :表示专业词汇
    <b> :表示文档中的关键字或者产品名
    <strong>:表示非常重要的内容
    
    • 图像标签:<img>
    <img src="images/pic.jpg" alt="产品图片" />
    src属性 定义图片的引用地址
    alt属性 定义图片加载失败时显示的文字,搜索引擎会使用这个文字收录图片;此属性非常重要。
    
    • 链接标签: <a>
    <a href="此处输入网址" title="跳转的网站">网站名</a>
      href属性 定义跳转的地址
      title属性 定义鼠标悬停时弹出的提示文字框
      target属性 定义链接窗口打开的位置
      target="_self" 缺省值,新页面替换原来的页面,在原来位置打开
      target="_blank" 新页面会在新开的一个浏览器窗口打开
    
    • 列表标签:<ol>、<li>;<ul>、<li>
    1. 有序列表:
    <ol>
        <li>列表文字一</li>
        <li>列表文字二</li>
    </ol>
    2. 无序列表(使用比较多):
    <ul>
        <li><a href="#">新闻标题一</a></li>
        <li><a href="#">新闻标题二</a></li>
    </ul>
    

    4、 html表单

    <form>——定义整体的表单区域

    <form action="http://www..." method="get"></form>
      action属性 定义表单数据提交地址
      method属性 定义表单提交的方式,一般有“get”方式和“post”方式
    

    <label>——为表单元素定义文字标注

    <label>姓名:</label><input type="text" name="username" />
    <label>密码:</label><input type="password" name="password" />
    
    <label>性别:</label>
    <input type="radio" name="gender" value="0" /> 男
    <input type="radio" name="gender" value="1" /> 女
    

    <input>——定义通用的表单元素

    <input type=" " name=" " value=" ">
    
    • value属性 定义表单元素的值
    • name属性 定义表单元素的名称,此名称是提交数据时的键名
    • type属性
    type="text" 定义单行文本输入框
    type="password" 定义密码输入框
    type="radio" 定义单选框
    type="checkbox" 定义复选框
    type="file" 定义上传文件
    type="submit" 定义提交按钮
    type="reset" 定义重置按钮
    type="button" 定义一个普通按钮
    type="image" 定义图片作为提交按钮,用src属性定义图片地址
    type="hidden" 定义一个隐藏的表单域,用来存储值
    

    <textarea>—— 定义多行文本输入框

    <textarea name="about"></textarea>
    

    <select>—— 定义下拉表单元素
    <option>与<select>配合——定义下拉表单元素中的选项

    <select name="site">
        <option value="0">北京</option>
        <option value="1">上海</option>
        <option value="2">广州</option>
        <option value="3">深圳</option>
    </select>
    

    5、html表格

    <table>标签:声明一个表格

    <table width="800" height="800" border="0" cellpadding="0" cellspacing="0" align="center">
    border属性 定义表格的边框,设置值是数值
    cellpadding属性 定义单元格内容与边框的距离,设置值是数值
    cellspacing属性 定义单元格与单元格之间的距离,设置值是数值
    align属性 设置整体表格相对于浏览器窗口的水平对齐方式,设置值有:left | center | right
    

    <tr>标签:定义表格中的一行

    <tr>
        <td align="right"><img src="images/person.png"></td>
    </tr>
    

    <td>和<th>标签:定义一行中的一个单元格

    td代表普通单元格,th表示表头单元格

    align 设置单元格中内容的水平对齐方式,设置值有:left | center | right
    valign 设置单元格中内容的垂直对齐方式 top | middle | bottom
    colspan 设置单元格水平合并,设置值是数值
    rowspan 设置单元格垂直合并,设置值是数值
    

    五、详叙——CSS(对页面进行加样式)

    注:
    css又称层叠样式表;
    元素可称为盒子,也可称为标签

    1、css的定义方法

    选择器 { 属性:值; 属性:值; 属性:值;}

    选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个值;
    
    div{ 
        width:100px; 
        height:100px; 
        color:red 
    }
    

    2、css页面引入三种方法

    1、外联式:通过link标签,链接到外部样式表到页面中;开发中采用此方式

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

    2、嵌入式:通过style标签,在网页上创建嵌入的样式表;

    <style type="text/css">
        div{ width:100px; height:100px; color:red }
        ......
    </style>
    

    3、内联式:通过标签的style属性,在标签上直接写样式;基本不采用

    <div style="width:100px; height:100px; color:red ">......</div>
    

    3、常用css文本设置

    • 关于文字的设置:
    同时设置文字的几个属性的写法:font:是否加粗 字号/行高 字体;
    如: font:normal 12px/36px '微软雅黑';
    
    注:涉及兼容问题,建议按上述顺序写
    
    *  'line-height '—— 设置文字的行高,'相当于设置文字垂直居中',原理是在每行文字的上下同时加间距, 如:line-height:24px;
    
    *  'text-align '—— 设置文字水平对齐方式,如 'text-align:center 设置文字水平居中'
    
    *   color —— 设置文字的颜色,如: color:red;
    
    *   font-size ——设置文字的大小,如:font-size:12px;
    
    *   font-family ——设置文字的字体,如:font-family:' 微软雅黑 ';
    
    *   font-style ——设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜
    
    *   font-weight ——设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗
    
    *   text-decoration 设置文字的下划线,如:text-decoration:none; 将文字下划线去掉
    
    *   text-indent 设置文字首行缩进,如:text-indent:24px; 设置文字首行缩进24px
    
    *   text-overflow 设置一行文字宽度超过容器宽度时的显示方式,如:text-overflow:clip 将多出的文字裁剪掉 text-overflow:ellipsis 将多出的文字显示成省略号
    
    *   list-style 一般用来设置去掉ul或者ol列表中的小圆点或数字 如:list-style:none
    
    *   white-space 一般用来设置文本不换行,如:white-space:nowrap 设置文本不换行 一般与text-overflow和overflow属性配合使用来让一行文字超出宽度时显示省略号
    
    

    二、关于盒子的设置

    *   width 设置盒子内容的宽度,如: width:100px;
    
    *   height 设置盒子内容的高度,如: height:100px;
    
    *   border 同时给盒子设置四个相同的边框的写法;如:border:1px solid #000 设置盒子四个边都是1像素宽的黑色实线;
    
    *   border-top 设置盒子顶部边框的三个属性 如:border-top:5px solid red;设置盒子顶部边框为3像素宽的红色的实线;
    *   border-left 设置盒子左边边框的三个属性 如:border-left:3px dotted red;设置盒子左边边框为3像素宽的红色的点线;
    *   border-right 设置盒子右边边框的三个属性 如:border-right:2px dashed red;设置盒子右边框为2像素宽的红色的虚线;
    *   border-bottom 设置盒子底部边框的三个属性 如:border-bottom:1px solid red;设置盒子底部边框为1像素宽的红色的实线;
    
    *   padding 设置盒子四个边的内边距 如:padding:10px 20px 30px 40px 分别设置盒子上边(10px)、右边(20px)、下边(30px)、左边(40px)的内边距(顺时针);
    *   margin 设置盒子四个边的外边距 如:margin:10px 20px 30px 40px 分别设置盒子上边(10px)、右边(20px)、下边(30px)、左边(40px)的外边距(顺时针),详细设置说明;
    
    *   overflow 设置当子元素的尺寸超过父元素的尺寸时,盒子及子元素的显示方式 如:overflow:hidden 超出的子元素被裁切;
    
    *   display 设置盒子的显示类型及隐藏,如:display:block 将盒子设置为以块元素显示 display:none 将元素隐藏;
    
    *   float 设置元浮动 如:float:left 设置左浮动 float:right 设置右浮动,详细设置说明:[元素浮动](../../02/mds/section03.html)
    
    *   clear 在盒子两侧清除浮动 如:clear:both 在盒子两侧都不允许浮动;
    
    *   position 设置元素定位 如:position:relative 设置元素相对定位;
    
    *   background 设置元素的背景色和背景图片,如:background:url(bg.jpg) cyan;设置盒子的背景图片为bg.jpg,背景色为cyan;
    
    *  ' background-size 设置盒子背景图的尺寸,如:background-size:30px 40px;设置背景图的尺寸宽为30px,高为40px,这个属性不能合到background属性中 ';
    
    *   border-radius 设置盒子的圆角 如:border-radius:10px 设置盒子的四个角为10px半径的圆角;
    
    *   box-shadow 设置盒子的阴影,如:box-shadow:10px 10px 5px 2px pink;设置盒子有粉色的阴影;
    
    *   transition 设置盒子的过渡动画,如:transition:all 1s ease;设置元素过渡动画为1秒完成,所有变动的属性都做动画;
    
    *   animation 设置盒子的关键帧动画;
    
    *   transform 设置盒子的位移、旋转、缩放、斜切等变形,如:transform:rotate(45deg);设置盒子旋转45度;
    
    *   box-sizing 设置盒子的尺寸计算方式,如:box-sizing:border-box 将盒子的尺寸计算方法设置为按边框计算,此时width和height的值就是盒子的实际尺寸;
    
    

    三、其他设置:

    *   opacity 设置元素整体透明度,一般为了兼容需要加上filter属性设置 如:opacity:0.1;filter:alpha(opacity=10)
    
    *  ' cursor 设置鼠标悬停在元素上时指针的形状 如:cursor:pointer 设置为手型';
    
    *   outline 设置文本输入框周围凸显的蓝色的线,一般是设为没有 如:outline:none
    
    *   border-collapse 设置表格边框是否合并,如:border-collapse:collapse,将表格边框合并,这样就可以制作1px边框的表格;
    
    

    4、css选择器

    • 标签选择器——影响范围大,建议尽量应用在层级选择器中;
    *{margin:0;padding:0}
    div{color:red}   
    
    <div>....</div>   <!-- 对应以上两条样式 -->
    <div class="box">....</div>   <!-- 对应以上两条样式 -->
    
    • id选择器——不推荐使用id作为选择器,id名一般给程序用的;
    #box{color:red} 
    
    <div id="box">....</div>   <!-- 对应以上一条样式,其它元素不允许应用此样式 -->
    
    • 类选择器——使用最广泛,通过类名来选择元素;
    一个类可应用于多个元素,一个元素上也可以使用多个类
    
    .red{color:red}
    .big{font-size:20px}
    .mt10{margin-top:10px} 
    
    <div class="red">....</div>
    <h1 class="red big mt10">....</h1>
    <p class="red mt10">....</p>
    
    • 层级选择器
    >主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用
    
    .box span{color:red}
    .box .red{color:pink}
    .red{color:red}
    
    <div class="box">
        <span>....</span>
        <a href="#" class="red">....</a>
    </div>
    <h3 class="red">....</h3>
    
    • 组选择器——多个选择器,如果有同样的样式设置,可使用此选择器。
    .box1,.box2,.box3{width:100px;height:100px}
    .box1{background:red}
    .box2{background:pink}
    .box2{background:gold}
    
    <div class="box1">....</div>
    <div class="box2">....</div>
    <div class="box3">....</div>
    
    • 伪类及伪元素选择器——hover/before/after
    常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,它们可以通过样式在元素中插入内容;
    
    .box1:hover{color:red}
    .box2:before{content:'行首文字';}
    .box3:after{content:'行尾文字';}
    
    <div class="box1">....</div>
    <div class="box2">....</div>
    <div class="box3">....</div>
    

    5、CSS盒模型

    概念理解:通常把元素叫做盒子;元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻,帮助我们设置元素对应的样式;

    ①关于盒子的相关设置

    ——设置宽高:width ; height;

    width:200px;  /* 设置盒子的宽度,此宽度是指盒子内容的宽度,不是盒子整体宽度  */ 
    height:200px; /* 设置盒子的高度,此高度是指盒子内容的高度,不是盒子整体高度 */
    

    ——设置边框:border;

    border:10px solid red;    /* 设置盒子边宽为10px,实线,红色*/
    

    ——设置内间距:padding ;

    padding:20px 40px 50px 30px; /* 四个值按照顺时针方向,分别设置的是 上 右 下 左  四个方向的内边距值。 */
    padding:20px 40px 50px; /* 设置顶部内边距为20px,左右内边距为40px,底部内边距为50px */ 
    padding:20px 40px; /* 设置上下内边距为20px,左右内边距为40px*/ 
    padding:20px; /* 设置四边内边距为20px */
    

    ——设置外间距:margin; 设置原则和padding类似

    延伸:
    margin相关技巧 
    1、设置元素水平居中: margin:x auto;
    2、margin负值让元素位移及边框合并
    
    • 盒子的真实尺寸计算公式:

    盒子宽度 = width + padding左右 + border左右
    盒子高度 = height + padding上下 + border上下


    6、块元素,内联元素、内联块元素

    • 块元素——行元素

    常用的块元素有:div、p、ul、li、h1~h6、dl、dt、dd等;

    块元素特性:
    1.支持全部的样式
    2.如果没有设置宽度,默认的宽度为父级宽度100%
    3.盒子占据一行、即使设置了宽度

    • 内联元素——行内元素

    常用的内联元素:a、span、em、b、strong、i 等;

    内联元素特性:
    1、支持部分样式(不支持宽、高、margin上下、padding上下)
    2、宽高由内容决定
    3、盒子并在一行
    4、代码换行,盒子之间会产生间距
    5、子元素是内联元素,父元素可以用text-align属性设置子元素水平对齐方式

    • 内联块元素——行内块元素

    是新增的元素类型,现有元素没有归于此类别的
    可以用display属性将块元素或者内联元素转化成这种元素;

    内联块元素的特性:
    1、支持全部样式
    2、如果没有设置宽高,宽高由内容决定
    3、盒子并在一行
    4、代码换行,盒子会产生间距
    5、子元素是内联块元素,父元素可以用text-align属性设置子元素水平对齐方式。

    7、浮动

    • 浮动特性
    1、浮动元素有左浮动(float:left)和右浮动(float:right)两种
    
    2、浮动的元素会向左或向右浮动,碰到父元素边界、其他元素才停下来
    
    3、相邻浮动的块元素可以并在一行,超出父级宽度就换行
    
    '4、浮动让行内元素或块元素自动转化为行内块元素(此时不会有行内块元素间隙问题)'
    
    5、浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果
    
    6、父元素如果没有设置尺寸(一般是高度不设置),父元素内整体浮动的元素无法撑开父元素,父元素需要清除浮动
    
    7、浮动元素之间没有垂直margin的合并
    

    8、定位

    • 定位元素的特性:

    绝对定位和固定定位的块元素和行内元素会自动转化为行内块元素

    • 使用css的position属性来设置元素的定位类型

    relative ——相对定位,元素所占据的文档流的位置保留,元素本身相对自身原位置进行偏移。

    absolute ——绝对定位,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于上一个设置了定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位。

    fixed ——固定定位,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于浏览器窗口进行定位。

    static 默认值,没有定位,元素出现在正常的文档流中,相当于取消定位属性或者不设置定位属性。

    inherit 从父元素继承 position 属性的值。(不常用 )

    定位元素的偏移 :
    定位的元素还需要用left、right、top或者bottom来设置相对于参照元素的偏移值。
    定位元素层级 :
    定位元素是浮动的正常的文档流之上的,可以用z-index属性来设置元素的层级;

    demo如下:

    .box01{
        ......
        position:absolute;  /* 设置了绝对定位 */
        left:200px;            /* 相对于参照元素左边向右偏移200px */
        top:100px;          /* 相对于参照元素顶部向下偏移100px */
        z-index:10          /* 将元素层级设置为10 */
    }
    

    9、css相关属性

    display

    display属性
    display属性是用来设置元素的类型及隐藏的,常用的属性有:
    1、none 元素隐藏且不占位置
    2、block 元素以块元素显示
    3、inline 元素以内联元素显示
    4、inline-block 元素以内联块元素显示
    

    background

    • 负责给盒子设置背景图片和背景颜色的,background是一个复合属性;
    • 常用设置项
    background-color 设置背景颜色
    background-image 设置背景图片地址
    background-repeat 设置背景图片如何重复平铺
    background-position 设置背景图片的位置;
    background-attachment 设置背景图片是固定还是随着页面滚动条滚动
    
    注:background-position:可以在水平方向设置“left”、“center”、“right”,在垂直方向设置“top”、“center”、“bottom”,
    除了设置这些方位词之外,'还可以设置具体的数值'
    
    l例如:“background:url(location_bg.jpg) -110px -150px”,
    第一个数值表示背景图相对于自己的左上角向左偏移110px,'负值向左,正值向右;'
    第二个数值表示背景图相对于自己的左上角向上偏移150px,'负值向上,正值向下;'
    
    
    • 实际应用中,综合在一块写,如下:
    “background: #00FF00 url(bgimage.gif) no-repeat left center fixed”
    
    “#00ff00”是设置background-color;
    “url(bgimage.gif)”是设置background-image;
    “no-repeat”是设置background-repeat;
    “left center”是设置background-position;
    “fixed”是设置background-attachment;
    
    各个设置项用空格隔开,有的设置项不写也是可以的,它会使用默认值。
    

    相关文章

      网友评论

        本文标题:前端笔记 —HTML&CSS

        本文链接:https://www.haomeiwen.com/subject/kvnniftx.html