美文网首页
HTML与CSS笔记-1

HTML与CSS笔记-1

作者: 蚂蚁踩死我 | 来源:发表于2019-03-19 19:10 被阅读0次

    HTML

    图片语义化

    1.alt属性与tittle属性。

    2.figure元素与figcaption元素。

    <figure>
        <img src="" alt="" title="">
        <figcaption></figcaption>
    </figure>
    

    表单分组

    fieldset标签、legend标签

    <fieldset>
        <legend></legend>
        <input >
    </fieldset>
    
    优点:1.增强表单语义
         2.可定义fieldset元素的disabled属性来禁用整个组的表单元素
    

    其他

    • br:只适合用于p标签内换行
    • del标签、ins标签:定义删除和更新后的文本
    • img标签:
      • 图片作为HTML一部分,想被搜索引擎识别,应使用img
      • 反之,应使用背景图片

    CSS

    CSS单位

    • 绝对单位:cm\mm\in\pt\pc 多用于平面印刷
    • 相对单位:
      • px
      • % :
        • width height font-size相对于父元素『相同属性』的值来计算
        • line-height相对于父元素font-size值来计算
        • vertical-align相对于当前元素的line-height值来计算
      • em :
        • 当前元素的font-size的px值,如果当前元素font-size未定义,会继承父元素
        • 浏览器默认font-size为16px
        • 小技巧:首行缩进text-indent: 2em;
      • rem:

    CSS特性

    • 具有继承性的属性有三大类
      1. 文本相关:font-family font-size font-style font-weight font
        line-height texxt-align text-indent word-apacing
      2. 列表相关属性:list-sytle-image list-sytle-position list-sytle-type
        list-style
      3. 颜色:color
        • a标签默认颜色样式优先级更高,不会继承父元素颜色样式

    CSS优先级

    应用方式冲突

    行内样式 > (内部样式 = 外部样式)
    

    继承方式冲突

    最近的祖元素获胜
    

    指定样式冲突

    样式权值高获胜,权值只针对指定样式,不用于继承
    
    • 通配符 0
    • 伪元素 元素选择器 1
      • 伪元素只有四个:
        • ::before 、::after 、 ::first-letter 、::first-line
    • class选择器 伪类 属性选择器 10
    • id选择器 100
    • 行内样式 1000

    继承样式和指定样式冲突

    指定样式获胜
    

    !important

    会覆盖任何其他样式
    

    CSS选择器

    • 层次选择器
      • M N 后代选择器,选择M元素内部后代所有N元素
      • M>N 子代选择器,选择M元素内部子代所有N元素
      • M~N 兄弟选择器,选择M元素后所有同级N元素
      • M+N 相邻选择器,选择M元素相邻的下一个元素N
        • 技巧:li元素之间添加一横线
          li+li{border-top:1px solid red;}
          /*最后一个li元素没有相邻,没有可选去的*/
          

    CSS规范

    CSS命名规范(适用于开发阶段,发布阶段css文件都合并压缩)

    1. CSS文件命名
      • reset.css重置样式,清除默认样式
      • global.css全局样式,定义公共、基础样式(导航、底部、全局字体、文字颜色)
      • themes.css主题样式
      • module.css模块样式
      • masster.css模板样式,用于母版页的样式
      • columns.css专栏样式
      • forms.css表单样式
      • mend.css补丁样式
      • print.css 打印样式
    2. id和class命名
      • 避免class命名重复,命名取父元素class名为前缀
      • 页面常见部分命名规范

    网页主体部分命名

    网页部分 命名
    最外层 wrapper
    头部 header
    内容 content
    侧栏 sidebar
    栏目 column
    热点 hot
    新闻 news
    下载 download
    标志 logo
    导航条 nav
    主体 main
    左侧 main-left
    右侧 main-right
    底部 footer
    友情链接 friendlink
    加入我们 joinus
    版权 copyright
    服务 service
    登录 login
    注册 register

    网页细节部分命名

    导航命名

    网页部分 命名
    主导航 main-nav
    子导航 sub-nav
    边导航 side-nav
    左导航 leftside-nav
    右导航 rightside-nav
    顶导航 top-nav

    其他

    网页部分 命名
    菜单 menu
    子菜单 submenu
    标题 title
    摘要 summary
    登录条 loginbar
    搜索 search
    标签页 tab
    广告 banner
    小技巧 tips
    图标 icon
    法律声明 siteinfolegal
    网站地图 sitemap
    首页 homepage
    子页 subpage
    合作伙伴 parter
    帮助 help
    指南 guide
    滚动 scroll
    提示信息 msg
    投票 vote
    相关文章 related
    文章列表 list

    书写规范

    CSS属性书写顺序
    1.影响文档布局属性 display; position; float; clear; ...
    2.自身盒模型属性 width; height; padding; margin; border; overflow; ...
    3.文本属性 font; line-height; text-align; text-indent; vertical-align;...
    4.装饰属性 color; background-color; opacity; cursor;...
    5.其他属性 content; list-style; quotes;...
    <!-- 例子 -->
    
    #main {
        /*影响文档流属性*/
        display             : inline-block    ;
        position            : absolute        ;
        top                 : 0               ;
        left                : 0               ;
    
        /*盒子模型属性*/
        width               : 100px           ;
        height              : 100px           ;
        border              : 1px solid gray  ;
    
        /*文本属性*/
        font-size           : 15px            ;
        font-weight         : bold            ;
        text-indent         : 2em             ;
    
        /*装饰属性*/
        color               : #000            ;
        background-color    : #fff            ;
    
        /*其他属性*/
        cursor              : pointer         ;
    }
    

    功能代码

    具有某一特殊功能的代码块应该集中放置一起
    
    <!-- 举例 -->
    #main {
    
        /*单行文本居中方法需要使用2个属性实现,就将其写在一起*/
        height              : 50px              ;
        line-height         : 50px              ;
    
    }
    
    

    注释规范

    1. 顶部注释
    /*
        *@sescription:  文件说明
        *@author     :  作者
        *@update     :  更新时间
    */
    
    1. 模块注释
    /*导航部分,开始*/
    ...
    /*导航部分,结束*/
    
    1. 防止代码压缩删除注释,将需要保留的注释加 ! 符号
    /*! 这条注释不会被压缩删掉 */
    

    CSS reset

    重置浏览器默认的CSS样式
    
    • 避免使用*{...},性能底下,需更具个人具体需求定义。

    CSS盒子模型

    1. 内容区
      • width
      • height
      • overflow
    2. 内边距
      • padding-top
      • padding-right
      • padding-bottom
      • padding-left
    3. 边框
      • border-width
      • border-style
      • border-color
    4. 外边距
      • margin-top
      • margin-right
      • margin-bottom
      • margin-left
      • margin可指定负数,盒子向负值相反方向移动

    border

    border:0border:none差异

    • border : 0
      • 0px虽然看不见,但是浏览器还是会渲染,占内存
    • border : none
      • 不占内存

    padding

    margin

    外边距叠加

    初衷是为了对文章更好排班,第一段外边距显示和其他段落外边距相等。
    
    1. 同级元素
      • 会发生合并
    2. 父子元素
      • 当父元素没有padding、border把外边距分隔开,父元素和子元素相邻上下外边距会合并
    3. 空元素
      • 自身没有padding、border把外边距分隔开,上下外边距会叠加,再碰到其他元素外边距再次叠加

    负margin

    1. margin-top、margin-left为负时,当前元素拉向指定方向
    2. margin-botton、marin-right为负时,后续元素拉向指定方向

    负margin使用技巧

    • 图片文字居中
      • vertical-align : text-bootom
      • img{margin: 0 3px -3px 0 ;}
    • 自适应两列布局
    <!-- HTML -->
    
       <div class="content"><p>主体,宽度自适应</p></div>
       <div class="sidebar"><p>侧边栏,固定宽度</p></div>
    
    <!-- CSS  -->
       div{
           float: left;
       }
    
       .content{
           width: 100%;
           /* 将sidebar向左拉sidebar自身宽度的举例*/
           /*否则sidebar会被content的width百分百挤到下一行 */
           margin-right: -200px;
           background-color: green;
       }
       .content > p{
           /* 防止浏览器宽度不足,两列发生重叠 */
           /* siderbar自身宽度+两列间距10px */
           margin-right: 210px;
       }
    
       .sidebar{
           width: 200px;
           background-color: red;
       }
    
    • 元素垂直居中
      1. 父元素position: relative;
      2. 需垂直居中元素
        • position: absolute;
        • top: 50%;
        • left: 50%;
        • margin-top: /* height 的一半 */
        • margin-left: /* width 的一半 */
    • tab选项标签
      • margin-top: -1px; 解决tab切换问题。

    overflow

    display

    inline行内元素

    无法定义height、width,
    无法定义margin-top、margin-bottom.
    不能容纳block块元素
    

    inline-block行内块元素

    可定义height、width
    可与其他inline行内元素同行
    

    常见inline-block元素

    • img
    • input

    display: none ;

    visibility: hidden;的区别

    • display: none隐藏,不占据原来位置
    • visibility: hidden隐藏,原来位置保留

    display: table-cell ;

    可以让元素以表格单元形式呈现
    
    1. 大小不固定的图片垂直居中于元素
    父元素{
        display: table-cell;
        vertical-align: middle;
        text-align: center;
    }
    子元素{
        vertical-align: middle;
    }
    
    1. 等高布局
    2. 自动平均划分元素
    父元素{display: tabel ;}
    子元素{display: table-cell ;}
    

    去除inline-block元素间距

    父元素{font-size: 0 ;}
    

    相关文章

      网友评论

          本文标题:HTML与CSS笔记-1

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