HTML与CSS笔记-1

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 ;}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,748评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,472评论 1 45
  • 本文为阅读《Head First HTML 与 CSS》的css部分的读书笔记,方便回顾书上的知识,另一篇为Hea...
    兼续阅读 1,820评论 0 17
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,887评论 0 0
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,831评论 0 6