一、伪类选择器

伪类:伪代表假,类代表权重(class级别),可以分发结构伪类和状态伪类。
结构伪类:根据元素位置获取元素。
状态伪类:根据元素状态获取元素。
重点学习结构伪类。
结构伪类主要用来选择子元素,需要知道一个起点然后进行查询。

实例一:查询

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>伪类查询</title>
  8. </head>
  9. <body>
  10. <!-- 创建一个8行单列的列表 -->
  11. <!-- ul.list>li{item$}*8 -->
  12. <ul class="list">
  13. <li>item</li>
  14. <li>item</li>
  15. <li>item</li>
  16. <li>item</li>
  17. <li>item</li>
  18. <li>item</li>
  19. <li>item</li>
  20. <li>item</li>
  21. </ul>
  22. <style>
  23. /* <!-- 通过伪类选择任意一行,进行操作, */
  24. /* 一共8行,取值【1-8】 -- > */
  25. .list > li:nth-of-type(4) {
  26. background: green;
  27. }
  28. /* 选中第一行 ,可以用first-child,但是first-child会忽略数据类型,所以以后都用first-of-type来处理*/
  29. /* 属于单元素伪类 */
  30. .list > li:first-of-type {
  31. background-color: aquamarine;
  32. }
  33. /* 选中最后一行 ,属于单元素伪类*/
  34. .list > li:last-of-type {
  35. background-color: brown;
  36. }
  37. /* nth-of-type(an+b)参数计算 */
  38. /* a:系数,取值0,1,2,3。。。h */
  39. /* n:权数,取值从0,1,2,3。。。自动计算 */
  40. /* b:偏移量,0,1,2,3,.... */
  41. /* 举例 */
  42. /* 偶数行字体设置为italic */
  43. .list > li:nth-of-type(2n) {
  44. font-style: italic;
  45. }
  46. /* 奇数行字体大小20px,用2n-1或2n+1 */
  47. .list > li:nth-of-type(2n-1) {
  48. font-size: 20px;
  49. }
  50. /* 对于常用语法有语法糖,2n用even表示,2n+1用odd表示。 */
  51. /* 偶数行鼠标移上去字体变为30px */
  52. .list > li:nth-of-type(even):hover {
  53. font-size: 30px;
  54. cursor: pointer;
  55. }
  56. /* 奇数行字体颜色设置为lightgreen */
  57. .list > li:nth-of-type(odd) {
  58. color: lightgreen;
  59. }
  60. </style>
  61. </body>
  62. </html>

实例二:表单伪类

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>表单伪类</title>
  8. </head>
  9. <body>
  10. <input type="text" />
  11. <!-- 禁用表单,减少攻击项 -->
  12. <p><input type="text" disabled /></p>
  13. <input type="radio" name="sex" id="m" value="0" /><label for="m"></label>
  14. <input type="radio" name="sex" id="f" value="1" /><label for="f"></label>
  15. <button>提交</button>
  16. <style>
  17. /* 将iput设置为disbled的input背景色设置为lightgrey */
  18. input:disabled {
  19. background-color: lightgrey;
  20. }
  21. /* 将enbaled的input设置背景未浅绿 */
  22. input:enabled {
  23. background-color: limegreen;
  24. }
  25. /* 将选择按钮选中后绑定的lable的字体颜色变为红色 */
  26. input:checked + label {
  27. color: red;
  28. }
  29. /* 设置button样式,宽100px,高30px,无边框,无边线,背景绿色,字体白色 */
  30. button {
  31. width: 100px;
  32. height: 30px;
  33. border: none;
  34. outline: none;
  35. background-color: seagreen;
  36. color: snow;
  37. }
  38. /* 鼠标移动到button,背景变为lightsalmon色,鼠标变为小手pointer */
  39. button:hover {
  40. background-color: lightsalmon;
  41. cursor: pointer;
  42. }
  43. /* 鼠标聚焦到input,背景颜色变为lightseegreen */
  44. input:focus{
  45. background-color: lightseagreen;
  46. }
  47. }
  48. </style>
  49. </body>
  50. </html>

二、字体图标

字体图标引用第三方,目前用的最多的是阿里图表,因为免费,样式也不错。
网站地址https://www.iconfont.cn
所有的图像图标实际都是文本。
有三种引用方式:unicode,font class,symbol,推荐使用更方便的font class方式引用。
引用步骤:

  1. 在网站选择需要的图标,下载源码,将源码包解压后放到本地项目中。
  2. 打开源码中的demo_index.html按font class的引用步骤操作,如下:
    第一步:引入项目下面生成的 fontclass 代码:
    <link rel="stylesheet" href="./iconfont.css">
    第二步:挑选相应图标并获取类名,应用于页面:
    <span class="iconfont icon-xxx"></span>
    “ iconfont” 是你项目下的 font-family。可以通过编辑项目查看,默认是 “iconfont”。

    实例演示:字体图标引用

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8" />
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    7. <link rel="stylesheet" href="./font_icon2/iconfont.css" />
    8. <title>字体图标引用</title>
    9. </head>
    10. <body>
    11. <!-- 引用图标class,第一个class必须是iconfont,第二个class是对应图标的class名称 -->
    12. <p><span class="iconfont icon-chart_bar"></span></p>
    13. <p><span class="iconfont icon-user"></span></p>
    14. <p><span class="iconfont icon-home home"></span></p>
    15. <p><span class="iconfont icon-show eye"></span></p>
    16. <!-- 通过style设置图表属性,因为图标本质上是文本,所以文本的相关属性设置均可使用 -->
    17. <style>
    18. .iconfont.icon-chart_bar {
    19. font-size: 80px;
    20. color: red;
    21. }
    22. .iconfont.icon-user {
    23. font-size: 50px;
    24. color: royalblue;
    25. }
    26. .home {
    27. font-size: 50px;
    28. color: seagreen;
    29. }
    30. .eye {
    31. font-size: 50px;
    32. color: tomato;
    33. }
    34. </style>
    35. </body>
    36. </html>

    三、盒模型

    常用的盒模型属性:width,height,border,padding,margin。
    实例演示常用属性:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8" />
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    7. <title>常用盒模型属性</title>
    8. </head>
    9. <!-- 创建5个box实例供实验使用 -->
    10. <body>
    11. <div class="box1"></div>
    12. <div class="box2"></div>
    13. <div class="box3"></div>
    14. <div class="box4"></div>
    15. <div class="box5"></div>
    16. <style>
    17. /* 设置box1宽200px,高200px,边框宽度10px,虚线,黑色,背景色浅绿 */
    18. /* 实际box1的宽带计算=200+30*2+10*2=280px,比设计的200px变大了 */
    19. /* 此时要想让box1的实际大小为设置的200px,需要添加box-sizing=border-box属性。 */
    20. .box1 {
    21. width: 200px; /*宽度*/
    22. height: 200px; /*高度*/
    23. border: 10px dashed black; /*边框宽度,样式,颜色*/
    24. background-color: lightgreen; /*box1的背景色*/
    25. padding: 20px; /*内边距,呼吸区*/
    26. box-sizing: border-box; /*box1宽带包含border和padding宽度*/
    27. margin: 10px; /*设置box间距10px*/
    28. }
    29. .box2 {
    30. width: 200px; /*宽度*/
    31. height: 200px; /*高度*/
    32. /* border: 10px solid black;边框宽度,样式,颜色 */
    33. background-color: lightsalmon; /*box1的背景色*/
    34. /* 四值 , 顺时针 */
    35. /* padding: 上 右 下 左 ; */
    36. /* padding: 5px 10px 15px 20px; */
    37. /* 三值 , 中间表示左右*/
    38. /* padding: 5px 10px 15px; */
    39. /* 双值: 第1个上下,第2个左右 */
    40. /* padding: 5px 10px; */
    41. /* 单值, 四个方向全一样 */
    42. /* padding: 5px; */
    43. /* padding: 是透明的,只有宽度可以设置 */
    44. padding: 5px 10px 15px 20px; /*内边距,呼吸区*/
    45. box-sizing: border-box; /*box1宽带包含border和padding宽度*/
    46. margin: 10px; /*设置box间距10px*/
    47. background-clip: content-box; /*边框背景裁剪到内容区,默认是整个box,如box1*/
    48. /* 分别设置border得4个边框样式 */
    49. border-top: 5px dashed red;
    50. border-bottom: 8px dotted blueviolet;
    51. border-left: 6px solid yellowgreen;
    52. border-right: 4px double brown;
    53. }
    54. /* 通用初始化box方案 */
    55. .box3 {
    56. padding: 0px;
    57. border: 0px;
    58. box-sizing: border-box;
    59. }
    60. </style>
    61. </body>
    62. </html>

    四、盒模型常用单位

    px,em,rem,vh,vw
    px:是决定单位,和设备相关。
    em/rem:相当单位,em相当于当前浏览器的默认字号,推算得1em=16px,1rem=10px。使用该单位可以动态调整大小,利于布局,同时也会受到其他因素限制。
    vh/vw:相对固定值,将视口(可视窗口)高度/宽度分成100份,是个比值。1vh=1/100,1vw=1/100
    抄录圣杯布局:

    1. <!DOCTYPE html>
    2. <html lang="zh-CN">
    3. <head>
    4. <meta charset="UTF-8" />
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    7. <title>圣杯布局</title>
    8. </head>
    9. <body>
    10. <header>header</header>
    11. <aside class="left">left</aside>
    12. <main>main</main>
    13. <aside class="right">right</aside>
    14. <footer>footer</footer>
    15. <style>
    16. * {
    17. padding: 0;
    18. margin: 0;
    19. box-sizing: border-box;
    20. }
    21. header,
    22. footer {
    23. background-color: lightgreen;
    24. }
    25. body {
    26. display: grid;
    27. grid-template-columns: 6em 1fr 6em;
    28. grid-template-rows: 2em minmax(20em, 30em) 2em;
    29. }
    30. aside {
    31. background-color: lightblue;
    32. }
    33. main {
    34. background-color: yellow;
    35. }
    36. header,
    37. footer {
    38. grid-column: span 3;
    39. }
    40. </style>
    41. </body>
    42. </html>

更多相关文章

  1. 【Android(安卓)性能优化】应用启动优化 ( 安卓应用启动分析 | L
  2. 修改Android(安卓)actionbar 溢出菜单按钮(OverflowButton)默认图
  3. 不容错过!开发者必备的十二大Android开发资源
  4. xml中设置圆角矩形框
  5. android创建桌面快捷方式(启动目标非项目的启动页)
  6. Android中替换ExpandableListView控件前面的箭头图标
  7. Android高仿网易新闻客户端之动态添加标签
  8. Android点击图标重新启动问题
  9. Android百分比布局(PercentRelativeLayout)嵌套NavigationView自

随机推荐

  1. Android中集结了大量的系统管家Manager
  2. Android 代码实现应用强制装到手机内存
  3. android studio查看模拟器文件夹
  4. Android 对象序列化之你不知道的 Seriali
  5. [Android随笔]Android参考书籍
  6. Android:控件属性
  7. Android图标的制作
  8. Android Studio 自动更新失败解决方法
  9. 由Android想到的事情
  10. Android下的PVPlayer的实现