当前位置: 首页 > news >正文

前端基础:从0到1实现简单网页效果(二)

HTML 选择器基础

HTML 选择器用于在 CSS 或 JavaScript 中定位和操作 HTML 元素。常见的选择器类型包括标签选择器、类选择器、ID 选择器、属性选择器等。

标签选择器

标签选择器直接使用 HTML 元素名称,匹配文档中所有该类型的元素。

<p>这是一个段落。</p>

 

p {color: blue;
}

 

类选择器

类选择器以 . 开头,匹配 class 属性中包含指定值的元素。

<div class="example">示例内容</div>

 

.example {background-color: yellow;
}

 

ID 选择器

ID 选择器以 # 开头,匹配 id 属性为指定值的元素(ID 在文档中唯一)。

<div id="header">标题</div>

 

#header {font-size: 24px;
}

 

属性选择器

属性选择器根据元素的属性或属性值匹配元素。

<input type="text" placeholder="输入内容">

 

input[type="text"] {border: 1px solid gray;
}

 

后代选择器

后代选择器通过空格分隔,匹配某个元素内的所有指定后代元素。

<div><p>段落内容</p>
</div>

 

div p {margin: 10px;
}

 

子选择器

子选择器使用 > 符号,仅匹配直接子元素。

<ul><li>列表项</li>
</ul>

 

ul > li {list-style-type: square;
}

 

伪类选择器

伪类选择器用于定义元素的特殊状态,如 :hover:active 等。

a:hover {color: red;
}

 

伪元素选择器

伪元素选择器用于选择元素的特定部分,如 ::before::after

p::first-line {font-weight: bold;
}

 

组合选择器

组合选择器通过逗号分隔,同时匹配多个选择器。

h1, h2, h3 {font-family: Arial;
}

 

通用选择器

通用选择器 * 匹配所有元素。

* {margin: 0;padding: 0;
}

HTML 块元素概述

HTML 块元素(Block-level Elements)是指在页面中以独立块形式显示的元素,通常占据一整行,并会在前后自动换行。这些元素常用于构建页面的主要结构,如段落、标题、列表等。

常见块元素列表

  1. <div>
    通用容器,用于组合其他元素或样式化布局。

    <div>这是一个div块</div>
    

     

  2. <p>
    定义段落,默认会在前后添加间距。

    <p>这是一个段落</p>
    

     

  3. <h1><h6>
    标题元素,<h1> 级别最高,<h6> 最低。

    <h1>主标题</h1>
    <h2>副标题</h2>
    

     

  4. <ul><ol><li>
    无序列表、有序列表和列表项。

    <ul><li>项目1</li><li>项目2</li>
    </ul>
    

     

  5. <table><tr><td>
    表格及其行和单元格。

    <table><tr><td>单元格1</td></tr>
    </table>
    

     

  6. <form>
    表单容器,用于收集用户输入。

    <form><input type="text" />
    </form>
    

块元素的特点

  • 默认占据整行:块元素会从新行开始,并延伸到其父元素的宽度。
  • 支持宽高设置:可以通过 CSS 直接设置宽度和高度。
  • 可嵌套其他元素:块元素可以包含内联元素或其他块元素。

块元素与内联元素的区别

特性块元素内联元素
换行行为独占一行不换行
宽高设置支持不支持
默认宽度父元素宽度的 100%由内容决定
典型元素<div><p><h1><span><a><img>

使用 CSS 控制块元素

通过 CSS 可以修改块元素的默认行为,例如将块元素转换为内联块(display: inline-block)以实现水平排列。

div {display: inline-block;width: 100px;
}

 

注意事项

  • 避免嵌套过多块元素,可能导致渲染性能问题。
  • 合理使用语义化标签(如 <article><section>)以提升可访问性。

CSS 属性概述

CSS(Cascading Style Sheets)用于控制网页的样式和布局,包含多种属性,涵盖文本、颜色、背景、边框、盒模型、定位、动画等方面。以下分类介绍主要 CSS 属性及其用途。

文本属性

font-family
定义文本的字体系列,可以指定多个字体作为备选。

p { font-family: "Arial", sans-serif; }

 

font-size
设置字体大小,单位包括 pxemrem 等。

h1 { font-size: 24px; }

 

font-weight
控制字体的粗细,常用值包括 normalboldlighter 或数值(如 400700)。

strong { font-weight: bold; }

 

text-align
定义文本的水平对齐方式,可选 leftcenterrightjustify

div { text-align: center; }

 

text-decoration
设置文本装饰,如下划线、删除线等。

a { text-decoration: none; }

 

颜色与背景属性

color
定义文本颜色,支持十六进制、RGB、HSL 或颜色名称。

p { color: #333; }

 

background-color
设置元素的背景颜色。

body { background-color: #f5f5f5; }

 

background-image
指定元素的背景图像。

header { background-image: url("image.jpg"); }

 

background-size
控制背景图像的尺寸,如 covercontain 或具体数值。

div { background-size: cover; }

 

盒模型属性

widthheight
定义元素的宽度和高度。

.box { width: 200px; height: 100px; }

 

margin
设置元素的外边距,控制与其他元素的间距。

div { margin: 10px; }

 

padding
定义元素的内边距,控制内容与边框的距离。

div { padding: 15px; }

 

border
设置边框样式,包括宽度、类型和颜色。

div { border: 1px solid #000; }

 

定位与布局属性

display
控制元素的显示方式,如 blockinlineflexgrid

nav { display: flex; }

 

position
定义元素的定位方式,可选 staticrelativeabsolutefixed

div { position: relative; }

 

float
使元素向左或向右浮动,常用于图文混排。

img { float: left; }

 

动画与过渡属性

transition
定义属性变化的过渡效果,需指定属性、持续时间和时间函数。

button { transition: background-color 0.3s ease; }

 

animation
通过关键帧创建复杂动画效果。

@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }
}
div { animation: fadeIn 2s; }

 

响应式设计属性

media queries
根据设备特性(如屏幕宽度)应用不同样式。

@media (max-width: 768px) {body { font-size: 14px; }
}

 

flexbox 和 grid
现代布局技术,用于创建灵活的响应式设计。

.container { display: grid; grid-template-columns: 1fr 1fr; }

 

其他常用属性

opacity
控制元素的透明度,范围从 0(完全透明)到 1(不透明)。

img { opacity: 0.8; }

 

box-shadow
为元素添加阴影效果。

div { box-shadow: 2px 2px 5px rgba(0,0,0,0.3); }

 

z-index
定义元素的堆叠顺序,数值越大越靠前。

.modal { z-index: 100; }

 

CSS 属性繁多且功能强大,合理使用可以实现丰富的视觉效果和交互体验。建议结合具体项目需求,逐步掌握各类属性的用法。

 

 

http://www.dtcms.com/a/406507.html

相关文章:

  • 基于LazyLLM搭建AI创意文案生成器(多场景文案自动生成)
  • 数据链路层:网络通信的基础与桥梁
  • Keepalived两个集群实验
  • vs网站开发表格大小设置网站建设要注意一些什么
  • js网站模板下载做网站和app哪个难
  • MySQL多实例管理
  • 用dpdk实现udp、tcp数据包收发,tcp协议栈相关原理
  • 3D气象数据可视化:使用前端框架实现动态天气展示
  • 学习日记19:GRAPH-BERT
  • shell编程:sed - 流编辑器(5)
  • 网站制作地点中山网站建设公司哪家好
  • 关于【机器人小脑】的快速入门介绍
  • 无线收发模块保障砂芯库桁架机器人稳定无线通信实践
  • 北京有哪些网站建设国家企业信用信息系统(全国)
  • LabVIEW 动态信号分析
  • 腾讯云容器服务
  • 怎么做网站推广电话广西网站建设哪家有
  • 实战:基于 BRPC+Etcd 打造轻量级 RPC 服务——高级特性与生产环境深度实践
  • 蓝耘MaaS驱动PandaWiki:零基础搭建AI智能知识库完整指南
  • C语言,结构体
  • [创业之路-599]:193nm、266nm、355nm深紫外激光器的上下游产业链和相应的国产化公司
  • 安溪住房和城乡规划建设局网站wordpress+左侧菜单
  • Ubuntu 系统中防火墙
  • 摄像头-激光雷达在线标定相机脚本(ROS 版)
  • 做网站建设需要多少钱手机营销软件
  • 360官方网站餐饮网站开发毕业设计模板
  • 从0到1玩转BurpSuite:Web安全测试进阶之路
  • Go-Zero API Handler 自动化生成与参数验证集成
  • Choosing the Number of Clusters|选择聚类的个数
  • golang基础语法(五)切片