方案一: 使用div元素来实现(比如汽车之家, 知乎上的很多列表)
方案二: 使用列表元素, 使用元素语义化的方式实现;
原因是列表元素默认的CSS样式, 让它用起来不是非常方便;
比如列表元素往往有很多的限制, ul/ol中只能存放li, li再存放其他元素, 默认样式等;
虽然我们可以通过重置来解决, 但是我们更喜欢自由的div;
有序列表:ol、li(list-style:none 去除浏览器定义样式)
无序列表:ul、li(list-style:none 去除浏览器定义样式)
定义列表:dl、dt、dd
◼ ol(ordered list)
有序列表,直接子元素只能是li
◼ li(list item)
列表中的每一项
◼ ul(unordered list)
无序列表,直接子元素只能是li
◼ li(list item)
列表中的每一项
◼ dl(definition list)
定义列表,直接子元素只能是dt、dd
◼ dt(definition term)
term是项的意思, 列表中每一项的项目名
◼ dd(definition description)
列表中每一项的具体描述,是对 dt 的描述、解释、补充
一个dt后面一般紧跟着1个或者多个dd
◼ table
表格
◼ tr(table row)
表格中的行
◼ td(table data)(注意td没有margin属性 但是又padding属性)
行中的单元格
border-collapse CSS 属性是用来决定表格的边框是分开的还是合并只能用在table里。
table { border-collapse: collapse; }
合并单元格的边框
一个单元格可能会跨多行或者多列来使用;
这个时候我们就要使用单元格合并来完成;
跨列合并: 使用colspan
✓ 在最左边的单元格写上colspan属性, 并且省略掉合并的td;
跨行合并: 使用rowspan
✓ 在最上面的单元格协商rowspan属性, 并且省略掉后面tr中的td;
◼ form
表单, 一般情况下,其他表单相关元素都是它的后代元素
◼ input
单行文本输入框、单选框、复选框、按钮等元素
◼ textarea
多行文本框
◼ select、option
下拉选择框
◼ button
按钮
◼ label (for 属性和包裹元素的对应id保持一致,作用是通过点击label文字 就可以切换到包裹的元素)
表单元素的标题
◼ 表单元素使用最多的是input元素
◼ input元素有如下常见的属性:
◼ type:input的类型
text:文本输入框(明文输入)
password:文本输入框(密文输入)
radio:单选框
checkbox:复选框
button:按钮
reset:重置
submit:提交表单数据给服务器
file:文件上传
布尔属性(写上属性名就代表使用这个属性)
◼ readonly:只读
◼ disabled:禁用
◼ checked:默认被选中
只有当type为radio或checkbox时可用
◼ autofocus:当页面加载时,自动聚焦
◼ name:名字
在提交数据给服务器时,可用于区分数据类型--也就是传的url里对应的key
◼ value:取值--也就是传的url里对应的value
普通按钮(type=button):使用value属性设置按钮文字
重置按钮(type=reset):重置它所属form的所有表单元素(包括input、textarea、select)
提交按钮(type=submit):提交它所属form的表单数据给服务器(包括input、textarea、select
selected:默认被选中
form可以将整个表单作为一个整体来进行操作;
比如对整个表单进行重置;
比如对整个表单的数据进行提交;
action
用于提交表单数据的请求URL
method
请求方法(get和post),默认是get
target
在什么地方打开URL(参考a元素的target)