响应式网页设计--css

news2024/11/18 5:51:40

CSS(Cascading Style Sheets,层叠样式表)是用来控制网页的外观和布局的语言。它与 HTML 一起工作,通过样式定义网页元素的显示方式。CSS 可以控制多种视觉效果,如字体、颜色、布局、间距等。

基本语法:

CSS内部 由多个 选择器声明 组成:

选择器 {
    属性: 值;
}
  • 选择器:指明要应用样式的 HTML 元素。
  • 属性:是你想要设置的样式属性(如颜色、字体等)。
  • :给属性赋的具体值(如 red, 16px 等)。

选择器

其中元素,类,ID都为常用选择器

元素选择器:选择特定 HTML 元素,如 divph1 等。

p {
    color: blue;
}

类选择器:选择拥有特定类的元素,以 . 开头。

.my-class {
    font-size: 20px;
}

ID 选择器:选择特定 ID 的元素,以 # 开头。

#my-id {
    background-color: yellow;
}

属性选择器:选择具有特定属性的元素。

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

通配符选择器:选择所有元素。

* {
    margin: 0;
    padding: 0;
}

常见属性

颜色color 用来设置文字颜色,background-color 用来设置背景颜色, border-color 用来设置元素边框颜色的属性

body {
    color: white;
    background-color: black;
    border-color: red;
}

字体font-size, font-family(指定字体类型), font-weight 等。

h1 {
    font-size: 24px;
    font-family: Arial, sans-serif;
    font-weight: bold;
    font-style: normal | italic | oblique;
   /** normal:默认值,表示正常的字体样式,不应用斜体或倾斜效果。
       italic:表示斜体字。通常字体会以斜体显示,但并不是所有字体都支持斜体效果。如果字体本身不包含斜体样式,浏览器会尝试模拟斜体效果。
       oblique:表示倾斜的字体。与斜体类似,但倾斜效果通常比斜体稍微平缓。oblique 与 italic 的效果可能非常相似,具体取决于浏览器和字体的支持。
}

布局margin, padding, border, width, height, display 等。

.container {
    width: 100%;
    padding: 20px;
    border: 1px solid #ccc;
}

位置position, top, right, bottom, left, z-index 等。

.box {
    position: absolute;
    top: 50px;
    left: 100px;
}

布局+位置

margin(外边距)

margin: top right bottom left;

  • top:上边距
  • right:右边距
  • bottom:下边距
  • left:左边距
/* 设置上下左右的外边距 */
div {
    margin: 10px 20px 30px 40px;
}

/* 设置统一的外边距 */
div {
    margin: 20px; /* 四个边的外边距都为 20px */
}

margin-top, margin-right, margin-bottom, margin-left 分别设置四个方向的外边距。

/* 设置单独的上边距 */
div {
    margin-top: 20px;
}

/* 设置单独的右边距 */
div {
    margin-right: 10px;
}

padding(内边距)

padding 用于设置元素内容与其边框之间的内边距,也可以单独设置四个方向的内边距:上、右、下、左。

padding: top right bottom left;

  • top:上内边距
  • right:右内边距
  • bottom:下内边距
  • left:左内边距

同margin。

border(边框)

border 用于设置元素的边框,它同样可以单独设置四个方向的边框:上、右、下、左。每个方向可以设置边框的宽度、样式和颜色。

border: [width] [style] [color];

  • width:边框的宽度(例如:1px, 2px
  • style:边框的样式(例如:solid, dotted, dashed
  • color:边框的颜色(例如:red, #000000
/* 设置四个边的边框 */
div {
    border: 1px solid red;
}

/* 设置单独的上边框 */
div {
    border-top: 2px dashed blue;
}

/* 设置单独的右边框 */
div {
    border-right: 3px solid green;
}

position(定位)

position 属性决定元素的定位方式,并影响元素的 toprightbottomleft 的位置偏移。常见的定位方式包括 staticrelativeabsolutefixed

  • top:相对于定位元素的顶部偏移。
  • right:相对于定位元素的右侧偏移。
  • bottom:相对于定位元素的底部偏移。
  • left:相对于定位元素的左侧偏移。
/* 相对定位 */
div {
    position: relative;
    top: 20px;  /* 向下移动 20px */
    left: 30px; /* 向右移动 30px */
}

/* 绝对定位 */
div {
    position: absolute;
    top: 50px;   /* 离父元素顶部 50px */
    right: 10px; /* 离父元素右边 10px */
}

flexbox 布局的对齐属性

Flexbox 布局使得我们可以非常灵活地控制元素在容器内的对齐方式,包括在主轴和交叉轴上的对齐。与上下左右相关的属性主要包括:

  • justify-content:定义主轴(默认是水平轴)上的对齐方式。

    • flex-start: 对齐到主轴的起点
    • center: 居中对齐
    • flex-end: 对齐到主轴的终点
    • space-between: 在项之间均匀分配空间
    • space-around: 每个项周围都有均等的空间
  • align-items:定义交叉轴(默认是垂直轴)上的对齐方式。

    • flex-start: 对齐到交叉轴的起点
    • center: 垂直居中对齐
    • flex-end: 对齐到交叉轴的终点
    • stretch: 拉伸以适应容器(默认)
/* 使用 Flexbox 布局 */
.container {
    display: flex;
    justify-content: space-between; /* 水平对齐,项之间有间隙 */
    align-items: center;             /* 垂直对齐,居中 */
}

grid 布局的对齐属性

Grid 布局也提供了类似的对齐功能,可以让你对元素在网格单元格内的上下左右位置进行控制。

  • justify-items:定义网格项在水平方向上的对齐方式。
  • align-items:定义网格项在垂直方向上的对齐方式。
  • justify-content:定义网格容器在水平方向上的对齐方式。
  • align-content:定义网格容器在垂直方向上的对齐方式。
/* 使用 Grid 布局 */
.container {
    display: grid;
    justify-items: center; /* 水平居中对齐 */
    align-items: center;   /* 垂直居中对齐 */
}

transform 的偏移

transform 可以用来对元素进行位移、旋转、缩放等变换。translate 变换可以直接调整元素的上下左右位置。

div {
    transform: translate(50px, 100px); /* 向右移动 50px,向下移动 100px */
}

总结:

布局中上下左右 相关的 CSS 属性主要包括:

  • margin:设置元素的外边距(上、右、下、左)。
  • padding:设置元素的内边距(上、右、下、左)。
  • border:设置元素的边框(上、右、下、左)。
  • position:通过 toprightbottomleft 设置元素的位置偏移。
  • flexboxgrid 布局中的对齐属性:如 justify-content, align-items 等。
  • transform:使用 translate 来偏移元素。

盒模型

CSS 的盒模型定义了每个元素的外边距、边框、内边距和内容区域。盒模型包括:

  • Content(内容区)
  • Padding(内边距)
  • Border(边框)
  • Margin(外边距)
div {
    width: 200px;
    padding: 20px;
    border: 5px solid black;
    margin: 30px;
}

浮动和清除浮动

浮动(float):元素可以浮动到父元素的左边或右边。

.float-left {
    float: left;
}

清除浮动(clear):用于控制元素周围的浮动元素的布局。

.clear {
    clear: both;
}

响应式设计

响应式设计允许网页在不同设备上显示合适的样式。例如,使用 @media 查询来为不同的屏幕尺寸应用不同的样式。

@media (max-width: 600px) {
    .container {
        width: 100%;
        padding: 10px;
    }
}

实际在写的时候需要时常在页面进行调整

常见骚操作

a {
  color: black;
}

a:visited {
  color: black;
}

a:hover {
  color: brown;
}

a:active {
  color: brown;
}

解释

a(普通状态)

  • 描述:这是默认的状态,表示用户没有与链接发生交互时,链接的样式。这里将链接颜色设置为黑色。
  • 效果:当用户未访问该链接时,链接的颜色为黑色。

a:visited(访问过的链接状态)

  • 描述:这个伪类选择器应用于用户已经点击并访问过的链接。通常我们希望在访问过的链接上应用不同的样式,以便用户能够识别哪些链接已经点击过。
  • 效果:在你的代码中,访问过的链接颜色仍然是黑色,所以它与未访问的链接颜色相同。你可以选择为访问过的链接设置其他颜色,以便用户区分。

a:hover(鼠标悬停状态)

  • 描述:这个伪类选择器应用于用户将鼠标指针悬停在链接上时。这个状态通常用于提供视觉反馈,例如改变链接的颜色,增强用户交互体验。
  • 效果:当用户将鼠标悬停在链接上时,链接颜色变为棕色。

a:active(点击状态)

  • 描述:这个伪类选择器应用于用户点击并保持鼠标按下的链接。它通常用于提供点击时的视觉反馈。
  • 效果:当用户点击链接时,链接的颜色会变为棕色。与 :hover 相似,但 :active 仅在点击时激活。

实操使用

随便打开一个网页,按F12进入开发者模式

使用选择器

选择你需要调整的模块

点击鼠标左键,进入目标所在代码行

直接修改元素内容即可及时显现

如简单把高改小

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2242627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

定时器的小应用

第一个项目 第一步,RCC开启时钟,这个基本上每个代码都是第一步,不用多想,在这里打开时钟后,定时器的基准时钟和整个外设的工作时钟就都会同时打开了 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);第二步&…

基于Hadoop、hive的数仓搭建实践

文章目录 架构图Hadoop搭建Hive 搭建MySQL搭建官网文档下载配置配置hive环境变量配置日志文件配置hive-site 复制mysql 驱动包删除日志包初始化元数据启动metastore服务使用hive CLI启动hiveServer2访问hiveserver2客户端连接beeline shell连接 Dbeaver连接经验 基于HDFS Hive…

跨平台WPF框架Avalonia教程 一

安装 安装 Avalonia UI 模板​ 开始使用 Avalonia 的最佳方式是使用模板创建一个应用程序。 要安装 Avalonia 模板,请运行以下命令: dotnet new install Avalonia.Templates 备注 对于 .NET 6.0 及更早版本,请将 install 替换为 --inst…

“fc-async”提供了基本的异步处理能力

在开发中,异步处理已经成为提升系统性能和用户体验的常用方式。然而,传统的@Async注解和基础的异步处理工具在面对复杂的任务场景时,存在局限性。这些局限性包括但不限于高并发环境下的稳定性、任务失败后的恢复机制、以及任务的监控和管理。 开源项目“fc-async”提供了基…

RGB与YCbCr转换算法

目录 RGB与YCbCr转换算法RGB与YCbCr色域介绍RGB模型YCbCr色域简介YCbCr的应用YUV 和 YCbCr 的区别 色彩转换公式 RGB 转 YCbCr 实现RGB 转 YCbCr 的 Matlab 实现RGB 转 YCbCr 的 FPGA 实现 YCbCr 转 RGB 实现YCbCr 转 RGB 的 Matlab 实现YCbCr 转 RGB 的 FPGA 实现 RGB与YCbCr转…

游戏引擎学习第八天

视频参考: https://www.bilibili.com/video/BV1ouUPYAErK/ 理解下面的代码 关于虚函数 代码分解 结构体 foo 的定义: struct foo {int32 X;int64 Y;virtual void Bar(int c); };foo 结构体有两个成员变量:X(int32 类型)和 Y&…

Vue2教程002:Vue指令

文章目录 2、Vue指令2.1 开发者工具2.2 v-html2.3 v-show和v-if2.4 v-else和v-else-if2.5 v-on2.5.1 内联语句2.5.2 methods 2、Vue指令 2.1 开发者工具 通过谷歌应用商店安装(需要科学上网)通过极简插件安装 2.2 v-html Vue会根据不同的指令&#x…

计算机视觉 ---图像模糊

1、图像模糊的作用: 减少噪声: 在图像获取过程中,例如通过相机拍摄或者传感器采集,可能会受到各种因素的干扰,从而引入噪声。这些噪声在图像上表现为一些孤立的、不符合图像主体内容的像素变化,如椒盐噪声&…

[JAVA]MyBatis框架—如何获取SqlSession对象实现数据交互(基础篇)

假设我们要查询数据库的用户信息,在MyBatis框架中,首先需要通过SqlSessionFactory创建SqlSession,然后才能使用SqlSession获取对应的Mapper接口,进而执行查询操作 在前一章我们学习了如何创建MyBatis的配置文件mybatis.config.xm…

node.js下载安装步骤整理

>> 进入node.js下载页面下载 | Node.js 中文网 >>点击 全部安装包 >>删除网址node后面部分,只保留如图所示部分,回车 >>点击进入v11.0.0/版本 >>点击下载node-v11.0.0-win-x64.zip(电脑是windows 64位操作系统适用) >…

解决IntelliJ IDEA的Plugins无法访问Marketplace去下载插件

勾选Auto-detect proxy setting并填入 https://plugins.jetbrains.com 代理URL,可以先做检查连接:

解决Jenkins使用 Git 参数插件拉取 commit 列表缓慢问题

Jenkins使用 Git 参数插件拉取 commit 列表缓慢问题 项目问题问题描述解决方案具体实现 项目问题 在 Jenkins 中使用 Git 参数插件 进行参数化构建,具有多方面的重要性和好处。这不仅提高了构建的灵活性和透明度,还能大大提升开发和运维效率。以下是使用…

Pytest-Bdd-Playwright 系列教程(9):使用 数据表(DataTable 参数) 来传递参数

Pytest-Bdd-Playwright 系列教程(9):使用 数据表(DataTable 参数) 来传递参数 前言一、什么是 datatable 参数?Gherkin 表格示例 二、datatable 参数的基本使用三、完整代码和运行效果完整的测试代码 前言 …

Windows内核编程准备

Windows内核编程 驱动 本课程涉及的驱动,是利用驱动程序的高级权限,去做一些用户层不能做的工作,严格来说,这些写出来的东西不能算是驱动,因为它不会驱动任何设备 权限 内核程序是运行在R0级的,因此比应…

uni-app快速入门(八)--常用内置组件(上)

uni-app提供了一套基础组件&#xff0c;类似HTML里的标签元素&#xff0c;不推荐在uni-app中使用使用div等HTML标签。在uni-app中&#xff0c;对应<div>的标签是view&#xff0c;对应<span>的是text&#xff0c;对应<a>的是navigator&#xff0c;常用uni-app…

【代码大模型】Compressing Pre-trained Models of Code into 3 MB论文阅读

Compressing Pre-trained Models of Code into 3 MB key word: code PLM, compression, GA算法 论文&#xff1a;https://dl.acm.org/doi/pdf/10.1145/3551349.3556964 代码&#xff1a;https://github.com/soarsmu/Compressor.git 【why】 1.问题描述&#xff1a; code LLM …

论文《基于现实迷宫地形的电脑鼠设计》深度分析——智能车驱动算法

论文概述 《基于现实迷宫地形的电脑鼠设计》是由吴润强、庹忠曜、刘文杰、项璟晨、孙科学等人于2023年发表的一篇优秀期刊论文。其针对现阶段电脑鼠计算量庞大且不适用于现实迷宫地形的问题&#xff0c;特基于超声波测距与传统迷宫算法原理&#xff0c;设计出一款可在现实迷宫地…

PG-DERN 解读:少样本学习、 双视角编码器、 关系图学习网络

本文提出了一种用于 分子属性预测 的 少样本学习&#xff08;Few-shot Learning&#xff09; 模型—— PG-DERN&#xff0c;该模型结合了 双视角编码器&#xff08;Dual-view Encoder&#xff09; 和 关系图学习网络&#xff08;Relation Graph Learning Network&#xff09; 双…

w039基于Web足球青训俱乐部管理后台系统开发

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

H3C NX30Pro刷机教程-2024-11-16

H3C NX30Pro刷机教程-2024-11-16 ref: http://www.ttcoder.cn/index.php/2024/11/03/h3c-nx30pro亲测无需分区备份 路由器-新机初始化设置路由器登录密码telnet进入路由器后台 刷机上传uboot到路由器后台在Windows环境下解压后的软件包中打开 tftpd64.exe在NX30Pro环境下通过以…