html+css基础
html基础
head头配置
1 2 3 4 5 6
| <meta charset="utf-8"/> <title>常用标签</title> <meta name="keywords" content="前端"/> <meta name="description" content="网页描述"/> <meta http-equiv="refresh" content="5;url=http://www.baidu.com" />
|
特殊字符
1 2 3 4 5
| < >   ©
|
1 2 3 4 5 6 7 8 9
| <input type="radio" /> <input type="checkbox"/> <input type="password"/> <input type="text" placeholder="用户名"/> <input type="email"/> <input type="range"/> <input type="date"/> <input type="image" src="download.img"/> <input id="username" type="text"/>
|
其他标签
1 2 3 4 5 6 7 8
| <label for="username"></label>
<fieldset></fieldset> <legend>用户名</legend> <textarea>内容</textarea>
<h1></h1> <p> </p>
|
图片
图片代码
1 2 3 4 5 6 7 8
| <img src="1.gif" alt="这是一个大松树" width="200px" height="100px" />
|
相对路径
相对于运行的html的路径
1 2 3
| - index.html -- img --- 1.jpg
|
index.html 就可以用 img/1.jpg这种路径
图片类型
- jpeg支持颜色较多,图片可以压缩,不支持透明
- gif支持颜色少,支持动态图,支持简单透明
- png支持颜色多,并支持复杂透明,通常用png
内联框架
1 2 3 4 5 6 7 8 9
| <iframe src="demo2.html"></iframe>
|
超链接
1 2 3 4 5 6 7 8 9 10 11
| <a href="http://www.baidu.com">文字描述</a> <a href="demo.html" target="_blank">文字描述</a>
|
居中
1 2
| <center>所想要居中内容</center>
|
table居中需要设置 width 跟height
div
- div是一个纯粹的块元素,并且不会为其内部设置默认
- div通常用来布局
1
| <div style="backgroup-color: red; width: 200px;"></div>
|
span
- 行内元素,只占自身大小的元素,不会占一行
- 通常用于设置文字颜色
文本标签
1 2 3 4 5 6 7 8 9 10 11
| <em></em> <strong></strong> <small></small> <cite></cite> <q></q> <blockquote></blockquote> <sup></sup> <sub></sub> <ins></ins> <del></del> <pre></pre>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| p{ text-transform: capitalize;
text-decoration:
text-align:
text-indent:
}
### 列表
- 无序列表 - ul无序列表 - li是列表项 - 有序列表 - ol有序列表 - li是列表项 - 定义列表 - dl 定义列表 - dt 被定义内容 - dd 被描述内容
type: disc 实心圆点 默认 square 方块 circle 圆
无序列表
```html <ul> <li>1</li> <li>2</li> </ul>
|
有序列表
两个可以嵌套
长度单位
#000000
第一组红色浓度
第二组绿色浓度
第三组蓝色浓度
1 2
| rgb(161,187,215) rgb(100%,50%,50%)
|
字体
1 2 3
| color: red; font-size: 30px; font-family: 微软雅黑;
|
字体分类
- serif 衬线字体
- sans-serif 非衬线字体
- monospace
- cursive
- fantasy
行高
1 2 3 4 5 6 7 8 9
| p1{ font-size: 20px; line-height: 40px; /* 1. 行间距40-20=20px 2. 可以指定一个百分比 3. 数值,1.5就是1.5倍,150% */ }
|
小技巧
div.box然后按tab 创建div类名叫box,这种用css语法自动补全
特殊规则
- a元素可以包含任意元素,除了他本身
- p元素不可以包含任何其他块元素
css基础
css选择器
选择器优先级
添加!important 就变成最高级别优先级了
类选择器
id选择器
元素选择器
属性选择器
1 2 3 4 5 6 7 8 9 10 11
| p[title^=”hello"]{ } /* - 语法: - [属性名] 选取含有指定属性的元素 - [属性名="属性值"] 选取含有指定属性值的元素 - [属性名^="属性值"] 选取开头带有属性值的元素 - [属性名$="属性值"] 结尾 - [属性名*=”属性值"] 包含
*/
|
其他子元素选择器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| p:first-child{ }
p:last-child{ }
p:nth-child(1){ }
p:first-of-type{ }
|
兄弟元素选择器
1 2 3 4 5 6 7 8 9 10 11 12 13
| span + p{ } /* 后一个兄弟元素选择器 可以选择一个接着的后面一个,这里选择span后的p */
span ~ p{ } /* 后一个兄弟元素选择器 选中span后所有兄弟 */
|
选择器分组
交集选择器(复合选择器)
同时是span,也是p3
元素之间关系
- 父元素
- 子元素:
- 祖先元素: 直接或间接
- 后代元素: 直接或间接
- 兄弟元素: 拥有相同父元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| div span{ }
div > span{ }
plate + apple{ }
A ~ B{ }
div p:first-child{ }
ul li:last-child{ }
|
css选择器练习答案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| 1. plate 元素选择器 2. bento 元素选择器 3. #fancy ID选择器 4. plate > apple 后代元素选择器 5. #fancy pickle ID选择器 后代选择器 6. .small 类选择器 7. orange.small 元素选择器 类选择器 8. bento orange.small 后代选择器 符合选择器 9. plate.bento 并集选择器 10. * 通配选择器 11、plate * 后代选择器、通配选择器 12、plate + .small,plate + apple 兄弟选择器、分组选择器(并集选择器) 13、bento ~ pickle 兄弟选择器 14、plate>apple 子元素选择器 15、plate>orange:first-child 子元素选择器、其他子元素选择器 16、apple,.small:only-child 其他子元素选择器(匹配父元素中唯一一个子元素) 分组选择器(并集选择器) 17、.small:last-child 其他子元素选择器(匹配父元素中最后一个子元素) 18、plate:nth-child(3) 其他子元素选择器(匹配指定位置的子元素) 19、bento:nth-last-child(4) 其他子元素选择器(从最后一个子元素开始匹配指定位置的子元素) 20、apple:first-of-type 其他子元素选择器(匹配第一个子元素) 21、plate:nth-child(even) 其他子元素选择器(选择偶数子元素的位置) 22、plate:nth-of-type(2n+3) 其他子元素选择器(从第三个开始匹配每隔两个匹配一下) 23、apple:only-of-type 其他子元素选择器 24、 .small:last-of-type 其他子元素选择器(匹配父元素中每个类的最后一个父元素) 25、bento:empty 其他子元素选择器(指定空的子元素) 26、apple:not(big,.small) 其他子元素选择器
|
伪类选择器
- a:link 没访问过
- a:visted 访问过
- a:hover 鼠标划过
- a:active 正在点击
- input:focus 获取焦点
- p::selection 为p标签中选中内容使用样式
- p::-moz-selection 专门用于火狐
否定伪类
选择除了某个类
伪元素选择器
- p:first-letter p中第一个字符
- p:first-line p中第一行
- :before
1 2 3 4 5 6 7 8 9 10
|
p:before{ content: "我会出现在整个段落最左边"; }
p:after{ }
|
css分类
内联css
1
| <p style="color:red; font-size: 40px;"> 文字</p>
|
内部css
1 2 3 4 5 6 7 8
| <head> <style type="text/css"> p{ color:red; font-size: 40px; } </style> </head>
|
外联css
1 2 3 4 5
| <link rel="stylesheet" type="text/css" href="style.css"/>
|
css注释
样式继承
css设置祖先元素,会同样设置后代元素
背景相关样式不会被继承
盒子模型
一个盒子分成以下几个部分
- 内容区(content)
- 内边距(padding)
- 边框(border)
- 外边距(margin)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| .box1{ background-color: #bfa; width: 100px; height: 100px;
border-width: 10px; border-color: red; border-style: solid;
|
去除浏览器默认边距
1 2 3 4
| *{ margin:0; paddding:0; }
|
浮动
水平排列利用浮动
块元素在文档流中默认垂直排列,自上而下依次排列
display: inline-block;
利用这个属性可以排成一行,多边距的话,将div换行部分去掉就可以了
使块元素脱离文档流,float属性
类似于图层
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| .box1{ width: 200px; height: 200px; backgroud-color: red; float:
}
.box2{ width: 200px; height: 200px; backgroud-color: yellow; }
.box3{ width: 200px; height: 200px; backgroud-color: green; }
|
1 2 3
| <div class="box1"></div> <div class="box1"></div> <div class="box1"></div>
|
浮动元素不会盖住文字,文字会自动环绕在浮动元素的周围
块元素脱离文档后,高度和宽度随内容变化
内联元素不能设置宽高,浮动后会变成块元素
高度塌陷问题,重叠,越界问题
父元素高度写死,避免塌陷,高度写死无法自适应子元素大小变化
隐含属性block formatting context 简称bfc
默认关闭,开启后,元素有如下特性
- 父元素的外边距不会和子元素重叠
- 开启bfc的元素不会被浮动元素所覆盖
- 开启bfc的元素可以包含浮动的子元素
开启方式
设置元素浮动
- 使用这种方式开启,虽然可以撑开父元素,但会导致父元素宽度丢失
- 会导致下边元素上移,不能解决问题
设置元素绝对定位
设置元素为inline-block
将元素的overflow设置为一个非visiable的值(父元素)
- 推荐方式,将overflow设置为hidden;
- ie6以下不支持
hasLayout可解决
- 元素的zoom设置为1,放大的意思,zoom:1;不放大,只支持ie8以下
总结: 同时写zoom和overflow
table操作
标准table
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <table> <thead> <th>商品名称</th> <th>数量</th> <th>价格</th> <th>操作</th> </thead> <tbody> <tr> <td>1</td> <td>2</td> </tr> </tbody> <tfoot> <tr> <td></td> </tr> </tfoot> </table>
|
切记,thead跟tbody要分开,不然的话,取数会出问题
操作
1 2 3 4 5 6 7 8 9
| parentElement line.parentNode.parentNode.cells var table=document.getElementsByTagName('table')[0]; var Tbody = table.tBodies[0]; var i = Tbody.rows.length; var tr = document.createElement("tr"); Tbody.appendChild(tr); array[1].setAttribute("contentEditable","true");
|
本文作者:NoOne
本文地址: https://noonegroup.xyz/posts/909026e/
版权声明:转载请注明出处!