HTML+CSS学习笔记 05

一.CSS的特性

1.1 CSS属性的继承

  • CSS的有些属性是可以被继承的,何谓继承?
    • 一个元素如果没有设置某个属性,而这个属性恰好也是可以被继承的话,就会采用父元素的值
    • 当然,一个元素自己设置了属性的值,就用自己的(不管是手动设置的,还是用户代理帮我们设置的)
    • 比如,color,文本,字体之类的全都都是可以被继承的
    • 究竟哪些属性可以被继承,哪些属性又是不可以被继承,不用死记硬背,用到时直接去查官方文档就可以了
    • 可以用inherit强制继承某个属性
    • 浏览器的开发者工具也会标识出哪些属性是继承过来的

1.2 继承的注意点

  • css继承的是属性的计算值而不是代码中书写的原始值

1.3 层叠

  • css允许将多个相同属性的css属性层叠到同一个元素中
  • 但是最终只有一个css属性会生效
  • 至于哪一个会生效,取决于改样式的优先级

1.4 优先级(权重)

1.4.1 按照经验,为了方便比较css属性的优先级,可以给css属性所处的环境定义一个权值(权重):

  • !important : 10000
  • 内联样式: 1000
  • id选择器: 100
  • 类选择器/伪类选择器/属性选择器: 10
  • 元素选择器/伪元素选择器: 1
  • 通配符选择器: 0

1.4.2 比较严谨的比较方法是:

  • 从权重最大的开始比较,每一种权值的数量的多少,数量多的则优先级高,即可结束比较

  • 如果数量相同,则继续比较权重较小的,比较规则同上

  • 如果所有权值比较完毕之后仍相等,则后面写的优先级高,会层叠掉前面的

  • /*如果以下两条样式是作用到一个元素的color属性的,那么最终元素的color的值是?*/
    .five#radio .one #three {  /*2个id,两个类*/
        color:blue;
    }
    #box #btn .five div span { /* 两个id,1个类*/
        color:black;
    }
    
    
    /*所以,上面的样式的优先级高,元素最终呈现蓝色*/
    

1.4.3 CSS属性使用的经验

  • 为什么有时自己书写的css属性不生效,可能是由于以下的原因:
    • 选择器的优先级较低
    • 选择器没有选中对应的元素
    • css的使用形式不对
      • 元素不支持该CSS属性,如:span元素不支持设置width和height
      • 浏览器不识别此该属性
      • 被同类型的css属性所覆盖,如font覆盖了font-size

1.4.4 经验:

  • 充分利用浏览器的开发者工具进行调试,查错

二 HTML中的其他比较重要的元素

2.1 列表元素

HTML中提供了三种形式的列表:有序列表(ol/li),无序列表(ul/li),定义列表(dl/dt/dd)

2.1.1 有序列表----------- ol/li

  • ol : 有序列表,其直接子元素只能是li元素
  • li: 列表中的每一项

2.1.2 无序列表----------- ul/li

  • ul : 无序列表,其直接子元素只能是li元素
  • li: 列表中的每一项

2.1.3 定义列表 ---------- dl/dt/dd

  • dl: 定义列表,其直接子元素只能是dt,dd
  • dt: 列表中每一项的项目名
    • 1个dt跟着一个或者多个dd
  • dd: 列表中每一项的描述,是对dt的描述和补充

2.1.4 列表相关的CSS属性

列表相关的常见CSS属性有4个:list-style-type、list-style-image、list-style-position、list-style

它们都可以继承,所以设置给ol、ul元素,默认也会应用到li元素

  • list-style-type:可以设置li元素前面标记的样式

    • disc(实心圆)、circle(空心圆)、square(实心方块)

    • decimal(阿拉伯数字)、lower-roman(小写罗马数字)、upper-roman(大写罗马数字)

    • lower-alpha(小写英文字母)、upper-alpha(大写英文字母)

    • none(什么也没有)

  • list-style-image:设置某张图片为li元素前面的标记,会覆盖list-style-type

  • list-style-position: 设置li元素标记的位置,取值有: outside和inside两个值

  • list-style: 是list-style-type,list-style-image,list-style-position的缩写形式(这三者是没有顺序区别的)

  • p {
        list-style: outside url('../../img/abc.png');
    }
    
  • 注意: 一般最常用的还是list-style:none去除li前面的默认样式

2.2 表格元素

2.2.1 表格的常用元素

  • table: 表格
  • tr: 表中的行
  • td: 行中的单元格

2.2.2 table的常用属性

border 边框的宽度
cellpadding 单元格的内部的间距
cellspacing 单元格外部的间距
width 表格的宽度
align 表格的水平对齐方式:left,center,right

2.2.3 tr,th,td的常用属性

valign 单元格的垂直对齐方式:top,bottom,middle,baseline
align 单元格的水平对齐方式:left center,right
width 单元格的宽度
height 单元格的高度
rowspan 单元格可横跨的行数
colspan 单元格可横跨的列数

2.2.4 细线表格的实现

table {
    border-collapse:collapse;
}

2.2.5 表格的其他元素

元素名 解释
tbody 表格的主体
caption 表格的标题
thead 表格的表头
tfoot 表头的页脚
th 表格的表头单元格

2.2.6 单元格的合并

  • 合并要领:
    • 合并方向是向右,向下
    • 删掉被覆盖的td元素

2.2.7 CSS属性 -------- border-spacing

  • border-spacing :用于设置单元格之间的水平,垂直距离(给table设置的)

  • table {
        border-spacing:10px 20px;
    }
    
  • 设置两个值分别是单元格水平间距和垂直间距'

  • 设置一个值则是代表同时设置水平间距和垂直间距

2.3 表单元素

2.3.1 常用的元素

  • form

    • 表单
    • 一般的,所有表单相关的元素都是它的后代元素
  • input

    • 单行文本输入框
    • 单选框
    • 复选框
    • 按钮
  • textarea

    • 多行文本输入框
  • select,option

    • 下拉选择框
  • button

    • 按钮
  • label

    • 配合for属性一起使用,目的是选择文字也可以选中相关表单元素
  • fieldset

    • 表单元素组
    • 通常和legend元素一起搭配使用
  • legend

    • 表单元素组的标题
    • 通常和fieldset元素一起搭配使用

2.3.2 input的常用属性

  • type: input的类型
    • text: 单行文本输入框,(明文输入)默认值
    • password: 单行文本输入框(密文输入)
    • radio: 单选
    • checkbox: 复选
    • button: 按钮
    • reset: 重置按钮
    • submit: 提交表单数据给服务器
    • file: 上传文件
  • maxlength: 允许输入的最大长度的字符
  • placeholder: 用户未输入数据时的占位文字
  • readonly: 表明此iunput是只读的
  • disabled: 禁用
  • checked:: 默认被选中(只适用于radio或者checkbox类型的input)
  • autofocus: 页面加载时,input元素自动聚焦
  • name: 用于表单提交时,传给服务的键名
  • value: 取值

2.3.3 input的布尔属性

  • 布尔属性可以没有属性值,只写属性名就可以了

  • 常见的布尔属性有: disabled, checked,selected,autofocus等等等等

  • 如果要给布尔属性设值,其值就和属性名是一样的

  • <!--  以下两种写法是等价的,但是推荐第一种-->
    <input disabled autofocus >
    <input type="radio" checked autofocus>
    
    <!-- 有效,但是不推荐-->
    <input disabled="disabled" autofocus="autofucus">
    <input type="radio" checked="checked" autofocus="autofocus">
    

2.3.4 input实现的按钮

  • 普通按钮(type=button): 普通按钮,使用value属性来设置文字

  • 重置按钮(type=reset) : 重置表单元素的值

  • 提交按钮(type=submit) :将表单上的数据提交给服务器

  • <!-- 1.普通按钮 -->
    <input type="button" value="普通按钮">
    
    <!-- 2.重置按钮 -->
    <input type="reset" value="重置按钮">
    
    <!-- 1.提交按钮 -->
    <input type="submit" value="注册">
    

2.3.5 button元素实现的按钮

  • 使用button元素也能实现按钮,功能效果和input一样

  • <!-- 1.普通按钮 -->
    <button type="button">普通按钮</button>
    
    <!-- 2.重置按钮 -->
    <button type="reset">重置按钮</button>
    
    <!-- 1.提交按钮 -->
    <button type="submit">提交按钮,也是默认类型</button>
    

2.3.6 input和label结合使用

  • label元素一般与input元素一起使用,用来表示input的标题

  • label通过for属性可以与input的id值绑定,可以通过label来激活in0put

  • <label for="username">用户名</label>
    <input type="text" id="username" placeholder="请输入用户名">
    

2.3.7 radio使用的注意事项

  • name值相同的radio元素才具有单选功能

  • <span>性别:</span>
    <label for="male">男</label>
    <input type="radio" checked id="male" name="sex">
    <label for="female">女</label>
    <input type="radio" checked id="female" name="sex">
    

2.3.8 checkbox的使用注意

  • 使用checkbox时,多个checkbox的name一定要相同

  • <span>爱好</span>
    <label for="apple">苹果</label>
    <input type="checkbox" checked id="apple" name="hobbies">
    
    <label for="banna">香蕉</label>
    <input type="checkbox" checked id="banna" name="hobbies">
    
    <label for="orange">橘子</label>
    <input type="checkbox" checked id="orange" name="hobbies">
    

2.3.9 去除input/a元素的tab建的选中效果

  • 添加css样式

    • input {
          outline:none;
      }
      a {
          outline:none;
      }
      
  • 或者将tabindex值设为-1

    • <input type="radio" tabindex=-1>
      

2.3.10 textarea的相关属性

  • cols:列数
  • rows:行数
  • resize: 缩放的相关设置
    • 禁止缩放: resize:none;
    • 水平缩放: resize: horizontal;
    • 垂直缩放: resize:vertical;
    • 水平垂直缩放: resize: both; (这是默认值)

2.3.11 select和option

  • option为select的唯一子元素,一个option代表下拉框的一个选项

  • <select id="edu" name="education">
        <option value="0">小学</option>
        <option value="1" selected>初中</option>
        <option value="2">高中</option>
        <option value="3">大学</option>
    </select>
    
  • select的常用属性

    • multiple: 表示多选
    • size: 下拉框显示多少项
  • option的常用属性

    • selected: 默认被选中

2.3.12 form的相关属性

  • action: 表单数据要提交的地址

  • method: 请求方法

    • get
      • 在发送给服务器的URL后以query的方式传参数,参数用&隔开,比如:http://www.baidu.com/abc/asdf/index.php?username=123&phone=10086;
      • 由于浏览器和服务器对于URL的长度有限制,通常不能超过1kb,所以不能发送数据过大的http请求
      • 由于参数在浏览器地址栏可以看到,所以get请求也是不安全的
    • post
      • 发给服务器的参数放在请求体中去,相对于get请求来说,安全性较高
      • 理论上,post请求对于数据量没有限制,所以比较适合数据量较大的请求(具体还要看服务器的处理能力)
  • target: 打开URL的方式(参考a元素的target)

  • enctype:规定了表单向服务器发送数据前如何对数据进行编码,有以下几种编码方式

    • application/x-www-form-urlencoded:默认的编码方式
    • multipart/form-data:文件上传时必须为这个值,并且method必须是post
    • text/plain:普通文本传输
  • accept-charset:规定表单提交时使用的字符编码(默认值UNKNOWN,和文档相同的编码)

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