zoukankan      html  css  js  c++  java
  • html-Css 基础大全

    一、 HTML基础

    Web组成:结构(XHTML、XML)、表现(css)、行为(ecmascript)

    HTML:超文本标记语言(hyper text markup language)

    HTML5的基本结构:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     
     9 </body>
    10 </html>
    HTML的基本语法:

    常规标记

    <标记 属性=”属性值” 属性=”属性值”></标记>

    空标记

    <标记 属性=”属性值” />

    标题字体<h1~h6></h1~h6>

    段落<p></p>

    加粗<b></b> <strong></strong>

    倾斜<em></em><i></i>

    下划线<u></u>

    删除线<del></del>

    上标<sup></sup>

    下标<sub></sub>

    空格&nbsp;

    大于号&gt;

    小于号&lt;

    备案图标&copy

    强制换行<br/>

    水平线<hr/>

    超链接<a href=”路径” alt=”替换文本” title=”提示信息” target=”_blank”></a>

    图片<img src=”路径” alt=”替换文本” title=”提示信息” width=”” height=”” border=””/>

    无序列表<ul><li></li></ul>

    有序列表<ol><li></li></ol>

    自定义列表<dl><dt></dt><dd></dd></dl>

    表格<table><tr><td></td></tr></table>

    表格里的重要属性:

    单元格的间距cellspacing

    单元格与内容的距离cellpadding

    边框border

    宽width

    高height

    边框颜色bordercolor

    背景颜色bgcolor

    行合并rowspan

    列合并colspan

    表单域:<form name=”表单名称” method=”提交方式方法” action=””></form>

    表单控件<input type=””>

    文本框 text

    密码password

    单选按钮radio

    复选框checkbox

    提交按钮submit

    重置reset

    按钮button

    禁用disabled

    默认选中checked

    下拉菜单<select><option></option></select>

    多行文本<textarea cols=”” rows=””></textarea>

    常用标签 div span

    Get与post的区别:

    Get是向服务器获取数据,post向服务器上传数据,出于安全性考虑我们建议用post

    二、Css的基础

    CSS层叠样式表(cascading style sheets)

    Css的样式表:

    内部样式表:直接写在头部

    <style type=”text/css”>css语法</style>

    内联样式:(直接写在html标签里面)

    <div style=”color:red”></div>

    外部样式表:(建立在html的外面需要引用才能生效)

    引用方式:

    <link rel=”stylesheet” type=”text/css” href=”路径”>
    
    <style type=”text/css”>
    
           @import url(路径);
    
    </style>

    两种外部样式表引用方式的区别

    A、 老祖宗的区别,link是XHTML提供的,可以引用其他文件例如RSS文件,@import只能引用css文件

    B、加载顺序的区别:link和html一起加载,@import是等html加载完成之后再加载

    C、兼容性的区别:@import在ie5以上才支持,link没有限制

    D、控制dom的区别:link支持@import不支持控制dom

    样式表的优先级:

    内联样式表优先级最高,内部和外部的优先级与顺序有关,谁在后边谁生效

    CSS的选择器:

    类型选择器(标签选择器)例如h1{color:red;}

    Id选择器 例如:#top{color:red} <div id=”top”></div>

    类选择器(class选择器)例如:.class{color:red;} <div class=”class”></div>

    通配符 *{color:red;}

    包含选择器 例如 p b{color:red}

    群组选择器 例如 h1,h2,p….{color:red;}

    伪类选择器 例如

    a:link{color:red;} a:visited{color:#00f;} a:hover{color:#ff0;} a:active{color:#0f0;}

    伪类选择器要注意顺序(L V H A)

    选择器的权重:

    继承 0

    类型 1

    类  10

    伪类 10

    Id  100

    内联 1000

    注释:

    Html注释 <!—注释-->

    CSS注释/*注释*/

    三、 CSS核心属性

    文字的设置:

    字体font-family(如果是中文需要加双引号,如果是是由多个英文单词组成需要加双引号,只有一个英文单词不需要双引号,文字字体可以设置多个,中间用逗号隔开)

    大小font-size

    颜色color

    加粗font-weight:(normal正常、bold加粗)

    倾斜font-style:(italic倾斜、normal正常)

    大小写font-variant

    文字的复合写法:font:style variant weight size family

    当同事设置文字大小字体行高时写法font:size/line-height family

    文本设置

    水平居中 text-align(left左 right右 center居中 justify两段对齐)

    垂直对齐vertical-align(top上 bottom下 middle居中 图片与文字才能生效)

    行高line-height(当单行文本行高等于实际高度可以居中,当大于时居下,小于时居上)

    文本修饰text-decoration(none、underline、overline、 line-through)

    首行缩进 text-indent(可以设置负值)

    字符间距 letter-spacing

    词间距 word-spacing

    控制文本大小写text-transform()

    文字阴影 text-shadow(c3出来的某些浏览器还不支持)

    列表的设置:

    项目符list-style-type(none)

    项目符设置为图片list-style-image

    项目符的位置list-style-position

    去掉项目符list-style:none

    边框 border:3px solid #f00(粗细 线型 颜色 无顺序要求)

    上边框border-top

    左边框 border-left

    有边框 border-right

    下边框 border-bottom

    更改某一边的粗细border-left-width

    更改某一边的线型border-top-style(solid实线 dashed虚线 dotted点状线 double双实线)

    更改某一边的颜色border-top-color

    背景设置:

    背景颜色background-color

    背景图片background-image:url(路径)

    背景平铺 background-repeat(no-repeat、repeat、 repeat-x、 repeat-y)

    背景的位置background-position:值1 值2;

    如果是方向先是左右(left center right) 后是上下(top center bottom)

    具体数值,向左和向上是负值

    背景的固定 background-attachment(scroll滚动 fixed固定)

    浮动 float(left right none)

    浮动的三大特征:脱离正常文档流,后边的紧跟着前边当宽度不够时自动换行,会占据行内元素的空间。

    清除浮动clear(left right both)

    四、 盒模型

    盒模型的组成:

    内容(width、height) 内填充(padding) 边框(border) 外填充(margin)

       内填充(padding)外填充(margin)值的四种情况

           一个值:代表上下左右

           两个值:代表 上下 左右

           三个值:代表 上 左右 下

           四个值: 代表 上 右 下 左

           注意:margin可以设置负值,padding不可以 背景颜色或图片不能延伸到margin区域

    盒子的实际宽度=左边距+左边框+左填充+内容+右填充+右边框+右边距      

    盒子的实际高度=上边距+上边框+上填充+内容+下填充+下边框+下边距

    Margin-top不生效的解决办法

    1、给父元素添加边框

    2、父元素添加padding

    3、父元素浮动

    4、自身浮动

    盒子直接的距离:

    两个div都不浮动正常显示,上边设置margin-bottom,下边设置margin-top时他们上下的距离是最大值

    一个浮动一个清除浮动,上边设置margin-bottom,下边设置margin-top时他们上下的距离是浮动的距离(如果上面存在多个浮动div且设置距下边距离不同取最大值)

    两个都浮动当宽度不够时会自动换行,上边设置margin-bottom,下边设置margin-top时他们上下的距离是两个之和

    五、文本溢出

    容器溢出overflow

    Visible:默认值

    Hidden:隐藏且不可见

    Scroll:隐藏以滚动条形式可以

    Auto:自适应,超出显示滚动条不超出不显示

    空白空间white-space

    Pre:等宽预格式化显示保留文字间空格遇到边界不换行

    Pre-wrap:等宽预格式化显示保留文字间空格遇到边界换行

    Pre-line:不保留文字间空格

    Nowrap:强制文本在一行显示

    Normal:正常的默认值

    文本溢出text-overflow

    Clip:裁切

    Ellipsis:溢出显示省略号

    超出文本显示省略号的条件:

    1、宽度width:value

    2、强制在一排显示white-space:nowrap;

    3、超出隐藏overflow:hidden;

    4、文本溢出显示省略号text-overflow:ellipsis;

    六、 元素类型

    分类:块状元素 内联元素 可变元素

    块状元素与内联元素的区别(div与span的区别):

    Div为块状元素,独占一行,自上而下排列

    Span为内联元素,自左向右依次排列,知道遇到边界换行

    Div可以设置宽高,span不可设置宽高

    他们都遵循盒模型但是span的和模型的某些属性不能正常显示

    常用的块元素:div dl dt dd ol ul h1-h6 p

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

    元素类型之间的转化display(属性值有18个)

    Block:变成块状

    Inline:内联

    Inline-block:行内块元素(这种类型可以使用vertical-align)

    None 隐藏

    List-item 列表类型

    大多数的块元素的默认元素类型是block,li的默认类型为list-item

    大多数内联元素的默认类型为inline,img input的默认类型为inline-block

    七、浏览器兼容

    最早的浏览器:网景领航者简称NN

    五大浏览器内核以及他们的代表作:

    Trident(三叉线) ie 360 市场份额最大

    Grcko(壁虎)火狐 开源

    Presto(迅速的)欧朋 渲染速度最快

    Webkit 苹果 谷歌 跨平台

    Blink 他是由谷歌和欧朋共同开发

    常见的兼容性

    1、div插入图会有三像素问题

    </div>与img在一排显示(只有ie6生效)

    将img转化成块状元素添加display:block

    2、 li dl插入图的间隙问题

    将img转化成块状元素添加display:block

    3、ie6的双边距问题(浮动元素的双边距问题)

    浮动元素添加display:inline

    4、ie的默认高度问题(18像素一下的高度)

    font-size:0或者overflow:hidden

    5、表单行高不一致

    给input标签添加float:left

    6、 同一表单行高

    是给input一个实际高度

    7、按钮大小不一致

    按钮的边框是算在高度里边的

    用a标签代替按钮或者给按钮单独写样式

    在按钮外部套一个标签并将input的样式清空

    直接用图片作为背景设置宽高

    8、百分比的bug

    Clear:right

    9、鼠标指针异常

    Cursor:pointer

    10、透明属性

    Opacity:value(0-1)

    Filter:alpha(opacity=value)value=0-100

    11、下划线只对ie生效

    加号 ie6 ie7

    9 ie6-ie10

    ie8以上

    * ie6 ie7

    12、关键字!important(将此属性的权限设置为最大,ie6不支持)

    八、 设置导航时 li浮动 a也给浮动

    写导航时中间的间距都给a尽量用padding

    如果左边一张图片右边是导航想在一排显示需要图片左浮动 ur右浮动

    九、 定位position(用定位时宽一定要有)

        

    Static  默认

    Absolute 绝对定位 脱离正常文档流 不占用空间 可以层叠

    Relative 相对定位 相对原来位置的偏移 占用空间

    Fixed 固定

    一个固定宽高的div如何水平垂直居中

    一种:宽200px 高 100px(用绝对定位或固定)

                  200px;

    height:100px;

    position:absolute(fixed);

    left:50%;

    top:50%;

    margin-top:-50px;

    margin-left:-100px;

           一种:宽20% 高 10%(用绝对定位或固定)

                         20%;

                         height:10%;

                         position:absolute(fixed);

                         top:45%;

                         left:40%;

           如果想让子元素根据父元素去定位,需要给父元素一个相对定位

           如果父元素没有任何定位,那么将依据浏览器进行定位,html是最大的包含块

    锚点:必须是id=”锚点名称” a标签里必须是href=”#锚点名称”

    圆角:border-radius

                  单独设置某一角 border-top-left-radius

    滚动条 overflow overflow-x overflow-y(visible、hidden、scroll、auto)

    Flash

    Marquee

    十、图片整合background-position(向上、左走是负值)

    图片整合的优势:

    减少向服务器请求次数,提高访问速度;

    减小图片体积

    十一、 宽高自适应

    宽度自适应width100%

    最小高度的自适应min-height(ie6不识别min-height)

    解决方式:min-height:value ;_height:value;

    Min-height:value; height:auto !important; height:value;

    元素的高度自适应窗口的高度

    Html,body{height:100%}

    元素本身设置为height:100%;

    浮动元素的父元素高度自适应(高度塌陷)

    解决方式:父元素添加overflow:hidden

    在浮动元素的下边添加一个空div设置样式如下:

    Clear:both;height:0; font-size:0;overflow:hidden;

    万能清除法

    :after{content:”.”; display:block; height:0; visibility:hidden; clear:both;}

    伪对象选择符:(ie6及以下不支持)

    :after在后边

    :before在前边

    :first-letter第一个字

    :first-line第一行

    十二、表单表格的高级

    表单的组成:表单域form 表单控件 input 提示信息 label

    表单字段集 fieldset 字段集标题 legend

    文件域 type=”file” 图片域 type=”image”

    表格按数据行分类:表头thead 表体 tbody 表尾 tfoot

    合并单元格间距border-spacing

    合并相邻边框border-collapse

    表格内容为空时隐藏 empty-cells:hide

    控制单元格行、列的算法 table-layout:fixed、auto

    表格的标题 caption

    表格的列标题 th

    表格的分组rules(all、cols、rows、groups)

    Col colgroup                      

        这些只是基础知识,学会这些并不一定就能写出一个很好的静态网页,还需要多实践,灵活运用。

     

      

    诗人是骗子,骗子是诗人,hhh
  • 相关阅读:
    [NOIP2018]:旅行(数据加强版)(基环树+搜索+乱搞) HEOI
    关于微服务网关
    管理 API 时要问的关键问题
    如何构建成功的微服务架构
    后端老是不写接口文档?说自己很忙?
    Nginx配置文件详解
    Keepalived 高可用
    Jenkins 调用 Shell 脚本
    Supervisor
    Harbor高可用实现基于haproxy
  • 原文地址:https://www.cnblogs.com/lizuo2828/p/html.html
Copyright © 2011-2022 走看看