css

目录

css样式的声明

替换元素

非替换元素

基础选择器

元素选择器

属性选择器

伪类选择器

a链接标签中的伪类选择器

子元素是行内元素

子元素是块元素

子元素是不定宽的块元素(导航栏)

li标签取消样式

CSS背景控制

列表标签

链接标签

定位

浮动

图文混排

三列布局

网站企业布局


CSS基础

元素用html标签声明,用CSS修改样式

css样式的声明

       内联声明:写在style属性中

       内部申明:写在style标签中

       外部申明:在head标签中使用link标签加载css样式文件到html中

替换元素

       元素的内容由标签的属性来设置,标签就是一个占位符,默认导入的资源是做为行内元素,替换元素如果是可视元素的话,此元素就是一个行内块

非替换元素

       元素的内容由用户直接提供或者来自文档自身

基础选择器

       元素选择器

              h1{ color:red }

       ID选择器

              #id{ color:red }

       类选择器

              .class{ color:red }

元素选择器

       层级选择器(父子选择器)

              ul li{ color:red }

              ul *{ color:red } 通配选择器,选择ul下的所有li标签

       子元素选择器

              ul > li {color : red}

       相邻兄弟选择器

              h1 + h2{ color:red} 选择h1标签后面相邻的h2标签

              h1 ~ h2{ color:red} 选择h1标签后面所有的h2标签

属性选择器

       根据属性名来选择元素

              *[id]{ color:red} 选择所有有id属性的元素

       根据属性的名和值来选   --- 其它的都是根据这个来的

              li[class = ”c”]{ color:red} 选择class=”c”的元素

       根据class属性中包含指定单词的元素

              li[class ~=”red”] 选择class属性中有red单词的元素

       选择以”xx”开头的类样式元素

              li [ class ^= “xx” ]

       选择以”yy”结尾的类样式元素

              li [ class $= “yy”]

       选择class属性值中包括指定字母”z” 的元素

              li [class *=”z”]

伪类选择器

       ul: before { content:”php” 插入的是行内元素} 在ul标签前面插入

       ul: after { url(../image.png) 插入图片} 在ul标签后面插入  主要用来清除浮动

       ul li:first-child { } 选择ul下的第一个li标签

       ul li:last-child { } 选择ul下的最后一个li标签

       div p:only-child { } 选择div标签中唯一子元素P,且同级无其它元素

       div p:only-of-type { } 选择div标签中的唯一的P元素,同级可以有其它元素

       nth-child( n ) { } 选择器匹配父元素中的第 n 个子元素,元素类型没有限制。

              n 可以是一个数字,一个关键字,或者一个公式。

              odd 为奇数 even 为偶数

       :nth-of-type(n)选择器匹配同类型中的第n个同级兄弟元素。

              n 可以是一个数字,一个关键字,或者一个公式。

              odd 为奇数 even 为偶数

a链接标签中的伪类选择器

       a:link {color:#FF0000;} /* 未访问的链接 */

a:visited {color:#00FF00;} /* 已访问的链接 */

a:hover {color:#FF00FF;} /* 鼠标划过链接 */

a:active {color:#0000FF;} /* 已选中的链接 */

a:hover 必须被置于 a:link 和 a:visited 之后

a:active 必须被置于 a:hover 之后

盒子模型

盒子模型的组成

       content padding border margin

内边距padding撑开盒子大小的解决方法

  1. 修改盒子的大小
  2. 给当前盒子添加一个父级盒子,并设置它的宽高

外边距的叠压

  1. 当两盒子垂直方向的上下边距相等时会重叠
  2. 当两盒子垂直方向的上下边距不相等时会以大的为准,小的陷入大的外边距中

边框

       边框可以设置宽,样式,颜色

       border: 1px solid #ccc ;  solid>实线 dashed>虚线

       边框折叠

              border-collapse:collapse;

      

圆角盒子

       border-radius: 20px; 可以设置百分比,正方形盒子设置50%则为圆

阴影盒子

       box-shadow:

       水平方向位移 垂直方向位移 阴影大小 阴影扩展面 阴影颜色 反投影inset(可选)

       外发光

       box-shadow:0 0 8px 3px #ccc;

       内发光

       box-shadow:0 0 8px 3px #ccc inset;

       右下(右上左上左下同理,类似于向限)

       box-shadow:8px 8px 8px 3px #ccc inset;

表格

背景

       background-image(../img)

背景重复

       background-repeat:no-repeat; 不会重复

       repeat-y 只有垂直方向重复

       repeat-x 只有水平方向重复

       inherit   从父元素继承样式

背景大小

       background-size:cover;    此时会保持图像的纵横比并将图像缩放成将完全覆盖背景定位区域的最小大小。

       background-size:contain   此时会保持图像的纵横比并将图像缩放成将适合背景定位区域的最大大小。

       background-size:100px;    设置背景图片高度和宽度。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为 auto(自动)

       background-size:50%;        将计算相对于背景定位区域的百分比。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为"auto(自动)"

字体大小

       font-size: 1.6em;

字体加粗

       font-weight: bolder;

字体倾斜

       font-style: italic;

       font-style:oblique;

字体类型

       font-family:” Arial”;

文本居中

子元素是行内元素

单行文本居中

水平居中: 在父元素设置 text-align:center;

垂直居中: 在行内元素(子元素)设置行高为父元素的高; line-heigh:

多行文本居中 

水平居中: 在父元素设置 text-align:center;

              垂直居中: 在父元素设置 display:table-cell ; vertical-align: middle;

子元素是块元素

       水平居中: 子元素设置margin:atuo;

       垂直居中: 在父元素设置 display:table-cell ; vertical-align: middle;

子元素是不定宽的块元素(导航栏)

       水平居中: 在父元素设置 text-align:center; 子元素设置display:inline-block

       垂直居中: 在ul标签设置 line-height

       底部居中: 在父元素设置 display:table-cell ; vertical-align: middle;

li标签取消样式

 li { list-type:none; }

 ul { padding-left:0; }

CSS背景控制

       背景颜色: background-color:transparent;  transparent(默认背景)

       背景图片:background-repeat:no-repeat;不重复

       背景位置:background-position: 0 0; (默认)

       背景图片固定     background-attachment:fixed;

                     Background-position:center center;

       背景大小:background-size:

列表标签

       list-style-type:disc;默认 实心圆  设置列表项标志的类型。

              circle>空心圆  square>实心方块  decimal>数字

       list-style-image: url(../img)  将图象设置为列表项标志。

       list-style-position: inside; 列表项目标记放置在文本以内,且环绕文本根据标记对齐

              outside>默认值。保持标记位于文本的左侧。列表项目标记放置在文本以外,且环绕文本不根据标记对齐。

链接标签

       text-decoration: none; 取消下划线

              underline>显示下划线

定位

static:默认文档流定位

relative:相对定位 元素相对于它原来的文档流中的位置进行定位

       position:relative

       top:50px; 距离上方50px

       left:50px;距离左方50px;

absolute:绝对定位 脱离文档流,并且使行内元素支持宽高,相对于父级进行定位

       定位父级position:relative;  如果没有定位父级则相对于body进行定位

       子级     position:abslute;

              top 50px;

              left 50px;

fixed:固定定位

       position: fixed;

       top: 50px;

       left: 50px;

浮动

会脱离文档流

任何元素浮动之后都支持宽高

浮动总是沿水平方向

浮动的定义: float: left;

同级元素   浮动的清除

       clear:left

       clear:right

       clear:both;

层级元素  浮动的清除

  1. 让父元素一起浮动
  2. 给父元素添加overflower: hidden;
  3. 添加一个多余的空元素来实现 (不推荐)
  4. 给父元素添加一个after伪类 { content: “” ;   display: block;   clear: both;}

图文混排

去掉img默认的下面的空白区

  1. 给父级添加一个极小的行高
  2. 子元素设置属性vertical-align: top;  middle也行

首段落空两字符

       text-indent: 2em;

三列布局

固定布局

  1. 主体中间设置父级relative,将左右侧边栏设置absolute ,内容区通过margin挤出来
  2. min-height设置最小高度为100%
  3. 左中右都相互独立,共同存在于主体中间

双飞翼布局

  1. 内容区放前面,然后再左边,再右边,全部浮动,内容区套一个子标签
  2. 主体中间设置宽度1000px;设置显示隐藏 overflow:hidden (消除层级浮动)
  3. 设置内容区宽度100%, 高度在子标签设置
  4. 子标签设置margin 挤出位置,左边设置margin-left:-100%; 右边设置margin-left:-200px
  5. 相当于内容区两边被左右给盖着, 内容由子标签显示出来

圣杯布局

  1. 内容区放前面,然后再左边,再右边
  2. 主体中间设置宽度为内容区的宽度,左右边分别再主体中间的两边,相当于主体中间用来显示内容
  3. 设置内容区的宽度100%; 左边和右边分别移动margin-left
  4. 主体中间 通过padding来填充内容区大小
  5. 通过相对布局 使得 左边和右边的内容压在padding上面显示

网站企业布局

       一般至少创建三个CSS文件

  1. 样式重置文件 reset.css
    • html
      1. overflow-y:auto;      显示垂直滚动条
      2. overflow-x:hidden;  隐藏水平滚动条
    • body , h1 , h2 , h3 , ul , li , p
      1. margin:0;
      2. padding:0
      3. font-family: ’ ’,’’,’’;  设置字体
    • p , li , a
      1. font-size: 设置字体大小
    • ul , li
      1. list-style-type:none; 清除样式
    • a : link  a:visited   a: active
      1. text-decoration : none ;  取消下划线
    • a: hover
      1. text-decoration : none ;
  2. 公共CSS文件 common.css

cursor : pointer; 鼠标悬停显示为 手

  1. 其它css文件

opacity:0.3; 透明度

 

1. 用户与身体信息管理模块 用户信息管理: 注册登录:支持手机号 / 邮箱注册,密码加密存储,提供第三方快捷登录(模拟) 个人资料:记录基本信息(姓名、年龄、性别、身高、体重、职业) 健康目标:用户设置目标(如 “减重 5kg”“增肌”“维持健康”)及期望周期 身体状态跟踪: 体重记录:定期录入体重数据,生成体重变化曲线(折线图) 身体指标:记录 BMI(自动计算)、体脂率(可选)、基础代谢率(根据身高体重估算) 健康状况:用户可填写特殊情况(如糖尿病、过敏食物、素食偏好),系统据此调整推荐 2. 膳食记录与食物数据库模块 食物数据库: 基础信息:包含常见食物(如米饭、鸡蛋、牛肉)的名称、类别(主食 / 肉类 / 蔬菜等)、每份重量 营养成分:记录每 100g 食物的热量(kcal)、蛋白质、脂肪、碳水化合物、维生素、矿物质含量 数据库维护:管理员可添加新食物、更新营养数据,支持按名称 / 类别检索 膳食记录功能: 快速记录:用户选择食物、输入食用量(克 / 份),系统自动计算摄入的营养成分 餐次分类:按早餐 / 午餐 / 晚餐 / 加餐分类记录,支持上传餐食照片(可选) 批量操作:提供常见套餐模板(如 “三明治 + 牛奶”),一键添加到记录 历史记录:按日期查看过往膳食记录,支持编辑 / 删除错误记录 3. 营养分析模块 每日营养摄入分析: 核心指标计算:统计当日摄入的总热量、蛋白质 / 脂肪 / 碳水化合物占比(按每日推荐量对比) 微量营养素分析:检查维生素(如维生素 C、钙、铁)的摄入是否达标 平衡评估:生成 “营养平衡度” 评分(0-100 分),指出摄入过剩或不足的营养素 趋势分析: 周 / 月营养趋势:用折线图展示近 7 天 / 30 天的热量、三大营养素摄入变化 对比分析:将实际摄入与推荐量对比(如 “蛋白质摄入仅达到推荐量的 70%”) 目标达成率:针对健
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值