CSS——选择器、PxCook软件、盒子模型

选择器

结构伪类选择器

作用:根据元素的结构关系查找元素。

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul li:first-child{color: pink;}ul li:last-child{color: green;}ul li:nth-child(2n){color: blue;}</style>
</head>
<body><ul><li>我是第1个li</li><li>我是第2个li</li><li>我是第3个li</li><li>我是第4个li</li><li>我是第5个li</li><li>我是第6个li</li><li>我是第7个li</li><li>我是第8个li</li><li>我是第9个li</li><li>我是第10个li</li><li>我是第11个li</li></ul>
</body>
</html>

 

:nth-child(公式)

作用:根据元素的结构关系查找多个元素。

提示:公式中的n取值从 0 开始。

伪元素选择器

作用:创建虚拟元素(伪元素),用来摆放装饰性的内容。

注意点:

  • 必须设置 content: ””属性,用来 设置伪元素的内容,如果没有内容,则引号留空即可
  • 伪元素默认是行内显示模式
  • 权重标签选择器相同

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 一个冒号是伪类 两个冒号是伪元素 */.box::before{content: "我";/* 因为是行内元素所以无法设置宽高 */display: inline-block;width: 30px;height: 30px;background-color: pink;}.box::after{content: "刘德华";}</style>
</head>
<body><div class="box">是</div>
</body>
</html>

 

PxCook

PxCook像素大厨) 是一款切图设计工具软件。支持PSD文件的文字、颜色、距离自动智能识别

  • 开发面板(自动智能识别)
  • 设计面板(手动测量尺寸和颜色)

创建项目 → 输入 项目名称、项目类型 Web → 单击按钮创建项目 → 单击按钮添加,导入设计稿

盒子模型

盒子模型 – 组成

作用:布局网页,摆放盒子和内容。

盒子模型重要组成部分:

  • 内容区域 – width & height
  • 内边距 – padding(出现在内容与盒子边缘之间)
  • 边框线 – border
  • 外边距 – margin(出现在盒子外面)

盒子模型 – 边框线

属性名:borderbd

属性值:边框线粗细  线条样式  颜色区分顺序)

常用线条样式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 200px;background-color: pink;/* border: solid 3px blue; *//* solid 实线 dashed 虚线 dotted 点线 */border: 3px dotted red;}input{width: 490px;height: 30px;border: 2px solid red;font-size: 14px;}</style>
</head>
<body><div class="box"></div><br><input type="text" placeholder="平板">
</body>
</html>

设置单方向边框线

属性名:border-方位名词bd+方位名词首字母,例如,bdl

属性值:边框线粗细  线条样式  颜色(区分顺序)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 200px;background-color: pink;/* border: solid 3px blue; *//* solid 实线 dashed 虚线 dotted 点线 */border: 3px dotted blue;border-top: 3px dotted red;}input{width: 490px;height: 30px;border: 2px solid red;font-size: 14px;}</style>
</head>
<body><div class="box"></div><br><input type="text" placeholder="平板">
</body>
</html>

 

盒子模型 – 内边距

作用:设置 内容 盒子边缘 之间的距离。

属性名:padding / padding-方位名词

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 200px;background-color: pink;padding: 30px;/* 内边距 padding: 30px 表示上下左右都是30px */}input{width: 490px;height: 30px;border: 2px red solid;font-size: 14px;/* 可以设置单方向 */padding-left: 15px;}</style>
</head>
<body><div class="box">文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字</div><input type="text" placeholder="平板">
</body>
</html>

盒子模型 – 内边距 – 多值写法

padding 多值写法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 200px;background-color: pink;/* 一个值 上下左右 *//* padding: 10px; *//* 两个值 上下10 左右30 *//* padding: 10px 30px; *//* 三个值 上10 左右30 下50 *//* padding: 10px 30px 50px; *//* 四个值 顺时针 上下左右 */padding: 10px 30px 50px 40px;}</style>
</head>
<body><div class="box">文字</div>
</body>
</html>

 

技巧:从上开始顺时针赋值,当前方向没有数值则与对面取值相同。

盒子模型 – 尺寸计算

默认情况

盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸

结论:给盒子加 border / padding 撑大盒子

解决

  • 手动做减法,减掉 border / padding 的尺寸
  • 內减模式:box-sizing: border-box
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{/*1. 手动去减 *//* width 160px *//* height 160px  *//* 2.css盒子模型 box-sizing: border-box*/width: 200px;height: 200px;background-color: pink;border: 10px solid red;padding: 10px;box-sizing: border-box;}</style>
</head>
<body><div class="box">qwe</div>
</body>
</html>

 

盒子模型 – 外边距

作用:拉开两个盒子之间的距离

属性名:margin

提示:与 padding 属性值写法、含义相同

技巧:版心居中 – 左右 margin 值 为 auto(盒子要有宽度)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 800px;height: 1000px;background-color: pink;/* 有宽度的块级元素水平居中 */margin:auto;}</style>
</head>
<body><div class="box"></div>
</body>
</html>

清除默认样式

清除标签默认的样式,比如:默认的内外边距。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {/* 清除内外边距 */margin: 0;padding: 0;box-sizing: border-box;}ul {margin: 100px;}li {/* 取消li的小圆点 */list-style: none;}</style>
</head><body><h1>标题</h1><ul><li>123</li><li>123</li></ul>
</body></html>

盒子模型 – 元素溢出

作用:控制溢出元素的内容显示方式

属性名:overflow

属性值

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {/* 超出的部分,隐藏 */overflow: hidden;/* 超出的部分显示滚动条 *//* overflow: scroll; *//* auto 如果超出,则显示滚动条,不超出则不显示滚动条 *//* overflow: auto; */width: 200px;height: 200px;background-color: pink;}</style>
</head><body><div class="box">我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字我要写很多很多很多的文字</div>
</body></html>

外边距问题 – 合并现象

场景:垂直排列的兄弟元素,上下 margin 会合并

现象:取两个 margin 中的较大值生效

​​​​​​​

外边距问题 – 塌陷问题

场景:父子级的标签,子级的添加 上外边距 会产生塌陷问题

现象:导致父级一起向下移动

解决方法:

  • 取消子级margin级设置padding
  • 级设置 overflow: hidden
  • 级设置 border-top
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* .nav ul li a {} */.box1,.box2 {width: 100px;height: 100px;background-color: pink;}.box1 {margin-bottom: 100px;}.box2 {background-color: purple;margin-top: 150px;}/* 结果是 100px, 外边距合并以较大外边距为准 */.father {/* 防止外边距塌陷 *//* 1. 方案1  overflow: hidden; *//* 2. 方案2  border-top: 1px solid red; *//* transparent 颜色透明 */border-top: 1px solid transparent;width: 200px;height: 200px;background: pink;/* 3. 方案3  padding-top: 20px; */}.son {width: 100px;height: 100px;background-color: skyblue;margin-top: 20px;}</style>
</head><body><div class="box1">上</div><div class="box2">下</div><div class="father"><div class="son"></div></div>
</body></html>

行内元素 – 内外边距问题

场景:行内元素添加 margin 和 padding,无法改变元素垂直位置

解决方法:给行内元素添加 line-height 可以改变垂直位置

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>span {/* 上下不生效 有问题 给行高可以解决  转换为其他元素  */padding: 30px;line-height: 60px;}</style>
</head><body><span>我是span</span>
</body></html>

盒子模型 – 圆角

作用:设置元素的外边框为圆角。

属性名:border-radius

属性值:数字+px / 百分比

提示:属性值是圆角半径

技巧:从左上角开始顺时针赋值,当前角没有数值则与对角取值相同。​​​​​​​

常见应用 – 正圆形状

正方形盒子设置圆角属性值为 宽高的一半 / 50%

常见应用 – 胶囊形状

长方形盒子设置圆角属性值为 盒子高度的一半

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 100px;height: 100px;background-color: pink;/* 圆角边框 */border-radius: 15px;}/* img {border-radius: 50%;} */.box2 {width: 200px;height: 40px;background-color: pink;border-radius: 20px;}.img1 {border-radius: 15px;}.img2 {border: 2px solid red;border-radius: 0 50%;}.img4 {border-radius: 15px 50px 80px 100px;}</style>
</head><body><div class="box"></div><img src="./images/1.png" alt=""><div class="box2"></div><img src="./images/1.png" alt="" class="img1"><img src="./images/1.png" alt="" class="img2"><img src="./images/1.png" alt="" class="img3"><img src="./images/1.png" alt="" class="img4"></body></html>

盒子模型 – 阴影(拓展)

作用:给元素设置阴影效果

属性名:box-shadow

属性值:X 轴偏移量  Y 轴偏移量  模糊半径  扩散半径  颜色  内外阴影

注意:

  • X 轴偏移量 和 Y 轴偏移量 必须书写
  • 默认是外阴影,内阴影需要添加 inset

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>img {border-radius: 50%;/* 盒子阴影 *//* box-shadow: 3px 5px 4px rgba(0, 0, 0, .4); */}img:hover {box-shadow: 0 15px 30px rgba(0, 0, 0, .3);}</style>
</head><body><img src="./images/1.png" alt="">
</body></html>

综合案例1——抖音直播

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 清除样式 */* {margin: 0;padding: 0;box-sizing: border-box;}body {background-color: #f1f1f1;}.card {width: 270px;height: 255px;background-color: #fff;border-radius: 15px;/* 让块级盒子水平居中 左右margin是auto就可以了 */margin: 100px auto 0;/* 让里面的文字和图片水平居中 */text-align: center;padding-top: 40px;}.card h4 {/* 不加粗 */font-weight: 400;/* 上 15 下 10  左右不要 */margin: 15px 0 10px 0;}.card p {font-size: 14px;}.card:hover {box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);}</style>
</head><body><div class="card"><img src="./images/liveSDK.svg" alt=""><h4>抖音直播SDK</h4><p>包含抖音直播看播功能</p></div></body></html>

综合案例2——新闻

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}li {/* 取消小点 */list-style: none;}.box {width: 360px;height: 190px;/* background-color: pink; *//* 块级盒子水平居中 */margin: 100px auto;}.box-hd {height: 34px;background-color: #eeeeee;border: 1px solid #dbdee1;border-left: 0;}.box-hd a {/* 转换为块级元素 */display: block;width: 50px;height: 34px;background-color: #fff;text-align: center;line-height: 31px;font-size: 14px;color: #333;text-decoration: none;border-top: 3px solid #ff8400;border-right: 1px solid #dbdee1;/* margin是负值,则盒子往上走 */margin-top: -1px;}.box-bd {margin-top: 3px;}.box-bd li {line-height: 26px;background: url(./images/square.png) no-repeat left center;padding-left: 15px;}.box-bd li a {font-size: 14px;text-decoration: none;color: #333;background: url(./images/img.gif) no-repeat left center;padding-left: 20px;}.box-bd li a:hover {color: #ff8400;text-decoration: underline;}</style>
</head><body><div class="box"><!-- 头部 hd  是 head的缩写 --><div class="box-hd"><a href="#">新闻</a></div><!-- 身体部分  bd 是 body的缩写--><ul class="box-bd"><li><a href="#">新农村人,温暖的身手</a></li><li><a href="#">新农村人,温暖的身手</a></li><li><a href="#">新农村人,温暖的身手</a></li><li><a href="#">新农村人,温暖的身手</a></li><li><a href="#">新农村人,温暖的身手</a></li><li><a href="#">新农村人,温暖的身手</a></li></ul></div>
</body></html>

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

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

相关文章

SpringMVC学习记录(三)之响应数据

SpringMVC学习记录&#xff08;三&#xff09;之响应数据 一、页面跳转控制1、快速返回模板视图2、转发和重定向 二、返回JSON数据1、前置准备2、ResponseBody 三、返回静态资源1、静态资源概念2、访问静态资源 /*** TODO: 一个controller的方法是控制层的一个处理器,我们称为h…

推荐一款ETCD桌面客户端——Etcd Workbench

Etcd Workbench 我相信很多人在开始管理ETCD的时候都去搜了Etcd客户端工具&#xff0c;然后找到了官方的Etcd Manager&#xff0c;但用完之后发现它并不好用&#xff0c;还不支持多连接和代码格式化&#xff0c;并且已经好几年不更新了&#xff0c;于是市面上就有了好多其他客…

FET113i-S核心板已支持RISC-V,打造国产化降本的更优解 -飞凌嵌入式

FET113i-S核心板是飞凌嵌入式基于全志T113-i处理器设计的国产工业级核心板&#xff0c;凭借卓越的稳定性和超高性价比&#xff0c;FET113i-S核心板得到了客户朋友们的广泛关注。作为一款拥有A7核RISC-V核DSP核的多核异构架构芯片&#xff0c;全志科技于近期释放了T113-i的RISC-…

实践出真知:MVEL表达式中for循环的坑

目录标题 背景MVEL脚本(有问题的)MVEL脚本(正确的)结论分析 背景 需要从一个URL的拼接参数中解析出id的值并输出 比如&#xff1a; 存在URLhttps://xxxxxxxxxx?id999999&type123&name345 然后需要输出id999999 MVEL脚本(有问题的) 入参&#xff1a;parseThisUrlhttp…

【数据集】【YOLO】【目标检测】道路裂缝数据集 5466 张,YOLO/VOC格式标注!

数据集介绍 【数据集】道路裂缝数据集 5466 张&#xff0c;目标检测&#xff0c;包含YOLO/VOC格式标注。数据集中包含一种分类&#xff0c;检测范围城市道路裂缝、高速道路裂缝、乡村道路裂缝。 戳我头像获取数据&#xff0c;或者主页私聊博主哈~ 一、数据概述 道路裂缝检测…

SCRM开发新趋势打造高效客户关系管理系统

内容概要 在当今数字化的浪潮中&#xff0c;客户关系管理&#xff08;SCRM&#xff09;系统的开发正迎来了突破性的新趋势。传统的客户管理方式已经无法满足现代企业对灵活性与高效性的需求&#xff0c;我们必须顺应时代的发展&#xff0c;采用更为智能化的解决方案。SCRM开发…

WordPress在windows下安装

目录 一、WordPress下载官网 二、配置 WordPress 三、安装WordPress 1、打开测试域名安装 2、创建数据库 3、配置数据库账号密码 4、设置后台账号密码 5、安装成功后点登录即可 一、WordPress下载官网 点击下面下载链接&#xff0c;下载安装包&#xff0c;并且php和mys…

Pytorch(二)

五、torchvision 5.1 torchvision中的Datasets 5.1.1 下载数据集 torchvision 文档列出了很多科研或者毕设常用的一些数据集&#xff0c;如入门数据集MNIST&#xff0c;用于手写文字。这些数据集位于torchvision.datasets模块&#xff0c;可以通过该模块对数据集进行下载&am…

二分查找算法—C++

一&#xff0c;二分查找 1&#xff0c;题目描述 在一个给定的有序数组中&#xff0c;查找目标值target&#xff0c;返回它的下标。如果不存在&#xff0c;返回-1 2&#xff0c;思路 解法一&#xff1a;暴力枚举&#xff0c;遍历整个数组&#xff0c;直到找到目标值&#xff…

PyQt5实战——UTF-8编码器UI页面设计以及按钮连接(五)

个人博客&#xff1a;苏三有春的博客 系类往期文章&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; PyQt5实战——多脚本集合包&#xff0c;UI以及工程布局&#xff08;二&#xff09; PyQt5实战——多脚本集合包&#xff0c;程序…

Call For Speaker! |2025中国国际音频产业大会(GAS)演讲嘉宾征集令启动!

2025中国国际音频产业大会&#xff08;GAS&#xff09;已定档2025年3月26-27日。 GAS 2025演讲嘉宾征集正式启动&#xff01;我们将再次汇聚音频领域的专家和行业领袖&#xff0c;力求为与会者呈现一场内容丰富、精彩纷呈的知识盛宴。 SPRGASING FESTIVAL 如果 您在音频领域…

安装docker-compose

安装包地址https://github.com/docker/compose/releases wget https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-Linux-x86_64 mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose chmod x /usr/local/bin/docker-compose docker-com…

【355】基于springboot的助农管理系统

助农管理系统的设计与实现 摘要 近年来&#xff0c;信息化管理行业的不断兴起&#xff0c;使得人们的日常生活越来越离不开计算机和互联网技术。首先&#xff0c;根据收集到的用户需求分析&#xff0c;对设计系统有一个初步的认识与了解&#xff0c;确定助农管理系统的总体功…

计算机网络——TCP篇

TCP篇 基本认知 TCP和UDP的区别? TCP 和 UDP 可以使用同一个端口吗&#xff1f; 可以的 传输层中 TCP 和 UDP在内核中是两个完全独立的软件模块。可以根据协议字段来选择不同的模块来处理。 TCP 连接建立 TCP 三次握手过程是怎样的&#xff1f; 一次握手:客户端发送带有 …

PyQt5实战——UTF-8编码器功能的实现(六)

个人博客&#xff1a;苏三有春的博客 系类往期文章&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; PyQt5实战——多脚本集合包&#xff0c;UI以及工程布局&#xff08;二&#xff09; PyQt5实战——多脚本集合包&#xff0c;程序…

闯关leetcode——3222. Find the Winning Player in Coin Game

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/find-the-winning-player-in-coin-game/description/ 内容 You are given two positive integers x and y, denoting the number of coins with values 75 and 10 respectively. Alice and Bob a…

中缀表达式求值-acwing

题目&#xff1a; 3302. 表达式求值 - AcWing题库 解析&#xff1a;模拟 2*10-100024-(5*3)(3*2) 使用两种栈&#xff1a; 遍历&#xff1a;(暂时用it指向&#xff09; it &#xff1a; 2 存入 num {2} it&#xff1a;* 栈空&#xff0c;存入 op{*} it&#xff1a;…

使用代理时Stable Diffusion无法正常下载各类模型的解决办法

最近发现了 Stable Diffusion 这个好玩的ai绘画工具&#xff0c;不得不感叹现在ai工具已经进化到这么简单易用的程度&#xff0c;只要下载对应的模型就可以生成各种有意思的图片 就算你没有编程基础&#xff0c;跟着教程也能弄出来 不过使用过程中发现部分功能无法使用 查看日…

从0开始机器学习--Day17--神经网络反向传播作业

题目&#xff1a;识别数字0-9&#xff0c;做梯度检测来验证是否在梯度下降过程中存在问题&#xff0c;并可视化隐藏层 代码&#xff1a; import numpy as np import scipy.io as sio import matplotlib.pyplot as plt from scipy.optimize import minimizedef sigmoid(z):ret…

前端学习笔记-Ajax篇

第1章:原生AJAX 1.1Ajax简介 AAX 全称为 Asynchronous JavaScript And XML&#xff0c;就是异步的 JS 和 XML。 通过 AAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势:无刷新获取数据。 AAX 不是新的编程语言&#xff0c;而是一种将现有的标准组合在一起使用…