【前端】CSS(引入方式+选择器+常用元素属性+盒模型+弹性布局)

这篇具有很好参考价值的文章主要介绍了【前端】CSS(引入方式+选择器+常用元素属性+盒模型+弹性布局)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CSS

一、什么是CSS

  • 层叠样式表(Cascading Style Sheets)
  • 对元素位置的排版进行精确控制,实现结构和样式的分离

CSS 控制页面的展示效果

HTML决定页面的结构

二、语法规范

选择器+{一条/N条声明}

  • 选择器:要修改谁
  • 声明:具体要修改什么内容。声明的属性是键值对,用分号区分,键和值用:

通常情况下,把style放在head中

<style>
    p{
        color: #23b47f;
        /* font-size: 50px; */  
    }
</style>

这里注释和html不一样

三、引入方式

1.内部样式表
  • 通过style标签将CSS嵌套到HTML页面中
  • style 一般放在 head 中

可以让样式和页面结构分离,但是当CSS内容多的时候,分离的不够彻底

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
<style>
    p{
        color: #23b47f;
        font-size: 50px;
    }
</style>
</head>
2.行内样式表
    <h3 style=" color: blueviolet; font-size: 30px;">行内样式表</h3>
  • 只针对某个标签生效
  • 适合简易的样式
  • 优先级高,会覆盖掉其他的样式
3.外部样式
  • 创建一个CSS文件
  • 使用Link标签引如CSS
    <link rel="stylesheet" href="./demo02.css">

样式和结构彻底分离

受浏览器缓存影响,修改后不一定立即生效

  • ctrl+f5强制刷新页面

四、选择器

  • 选中页面中要指定的标签元素
  • 先选中才能设置

1.选择器的种类

1.基础选择器:单个选择器构成的
1.标签选择器
p{
    /* 标签选择器 */
    color: red;
    font-size: 40px;
}
2.类选择器
    <p class="html">hello html</p>
    <p class="java">hello Java</p>
    <p class="html">hello Python</p>
    <p class="java">hello eat</p>

.java{
    color:chartreuse;
    font-size: 30px;
}
.html{
    color:blueviolet;
    font-size: 50px;
}
.longurage{
    font-size: 70px;
}

    <p class="html longurage">hello Python</p>

类名用 . 开头的

类选择器可以进行样式的叠加,因此两个类名用空格隔开

3.id 选择器
    <p id="fe">前端开发</p>
    <p id="server">后端开发</p>
#fe{
    color:red;
    font-size: 80px;
}
#server{
    color: blue;
    font-size: 120px;
}
  • 同一个页面,id的值为一
  • id后加#
4.通配符选择器
  • *选取所有的标签
  • 消除所有元素的默认样式。主要消除边距
* {
    background-color:antiquewhite;
}
2.复合选择器
  • 把多种基础选择器综合运用起来
1.后代选择器

包含选择器,选择父类中的子元素

元素1 元素2 {样式声明}
     ol li{
        color: red;
    }

    ul li{
        color: aqua; 
    }
    .hobby li{
        color: red;
    }

元素 1 和 元素 2 要使用空格分割

元素 1 是父级, 元素 2 是子级, 只选元素 2 , 不影响元素 1

元素 2 不一定非是 儿子, 也可以是孙子

2.子选择器
.two>a {
    color: red;
}
  • 只能选择亲儿子
  • 使用大于号分割
3.并集选择器
  • 用于选择多组标签. (集体声明)
  • 逗号 分割
div, h3 {
    color: red;
}
4.伪类选择器
  • 用来定义元素的状态

1.链接伪类选择器

 a:link 选择未被访问过的链接

a:visited 选择已经被访问过的链接

a:hover 选择鼠标指针悬停上的链接

a:active 选择活动链接(鼠标按下了但是未弹起)
a:link {
    color: black;
    /* 去掉 a 标签的下划线 */
    text-decoration: none;
}
a:visited {
    color: green;
}
a:hover {
    color: red;
}
a:active {
    color: blue;
}
  • 清空浏览器历史记录: ctrl + shift + delete

  • 按照 LVHA 的顺序书写,把 active 拿到前面去, 就会导致 active 失效

2 :force 伪类选择器

  • 选取获取焦点的 input 表单元素.
<div class="three">
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="text">
</div>
.three>input:focus {
    color: red;
}

被选中的表单的字体就会变成红色

五、常用元素属性

1.字体属性

1.设置字体

font-family

    <style>
           .font-family .one {
               font-family: 'Microsoft YaHei';
          }
           .font-family .two {
               font-family: '宋体';
          }
       </style>
++++++++++++++++++++++++++++++++++++++
    <div class="font-family">
        <div class="one">
            这是微软雅黑
             </div>
        <div class="two">
            这是宋体
        </div>
    </div>

2.设置大小

font-size

    p {
        font-size: 100px;
    }
  • chrome 默认大小是 16px
  • 可以给 body 标签使用 font-size
  • 标题标签需要单独指定大小
  • 实际上它设置的是字体中字符框的高度;实际的字符字形可能比这些框高或矮
3.设置粗细
    .font-family .two {
        font-family: '宋体';
        font-size: 30px;
        font-weight: bold;
    }

  • 700 == bold, 400 是不变粗, == normal
  • 取值范围是 100 ~ 900
4.文字样式
        /* 设置倾斜 */
        font-style: italic;
		/* 取消倾斜 */
        font-style :normal;
    .font-style em {
        font-style: normal;
    }
 <div class="font-style">
           <em>倾斜的</em>
           <div class="one">
            正常的
            </div>
    </div>
  • 经常需要把倾斜的改正常

2.文本属性

RBG
  • R (red), G (green), B (blue) 的方式表示颜色(色光三原色)
  • 每个颜色用一个字节表示
  • 一个字节8个比特位, 表示的范围是 0-255, 十六进制表示为 00-FF
  • 255, 255, 255 表示白色; 0, 0, 0 就表示黑色
1.文本颜色
color: red;
color: #ff0000;
color: rgb(255, 0, 0);
2.文本对齐
  • 控制文字水平方向上的对齐

  • lorem 生成一长段文字

<style>
    h1 {
        text-align: left;
    }
    h2 {
        text-align: center;
    }
    h3 {
        text-align: right;
    }
</style>
3.文本缩进
  • 控制段落的 首行 缩进 (其他行不影响)

  • 单位可以使用 px 或者 em.使用 em 更好,1 个 em 就是当前元素的文字大小.

  • 缩进可以是负的, 表示往左缩进. (会导致文字就冒出)

    p {
        text-indent: 2em;
        /* text-indent: 20px; */
    }
4.文本装饰
underline 下划线. [常用]
none 啥都没有. 可以给 a 标签去掉下划线. 
overline 上划线. [不常用]
line-through 删除线 [不常用]

    p {
        text-indent: 2em;
        /* text-indent: -20px; */
        text-decoration: underline;
    }
   a {
        text-decoration: none;
    }
    <a href="#">不跳转</a>
    
5.行高
  • 上下文本行之间的基线距离
    p {
        text-indent: 2em;
        /* text-indent: -20px; */
        text-decoration: underline;
        line-height: 30px;
    }
  • 行高 = 上边距 + 下边距 + 字体大小

3.背景属性

1.背景颜色
  • 默认是 transparent (透明) 的. 可以通过设置颜色的方式修改
    body {
        background-color:blanchedalmond;
    }
2.背景图片
  • 比 image 更方便控制位置(图片在盒子中的位置)
    div {
        width: 500px;
        height: 700px;
       
        background-image: url(https://n.sinaimg.cn/spider20240403/541/w889h452/20240403/16f6-1605b48ddfd6cbf9f6f5f4e8e052308f.jpg);
    }

url 上可以加引号, 也可以不加

3.背景平铺
repeat: 平铺
no-repeat: 不平铺
repeat-x: 水平平铺
repeat-y: 垂直平铺

默认是repeat

  • 背景颜色和背景图片可以同时存在. 背景图片在背景颜色的上方
    div {
        width: 700px;
        height: 400px;
        background-image: url(../image/男.png);
        background-repeat: no-repeat;
    }
4.背景位置
    div {
        width: 700px;
        height: 400px;
       
        /* background-image: url(https://n.sinaimg.cn/spider20240403/541/w889h452/20240403/16f6-1605b48ddfd6cbf9f6f5f4e8e052308f.jpg); */
    
        background-image: url(../image/男.png);
        background-repeat: repeat-y;
        background-position: 200px 200px; /*对背景图片的位置进行移动*/
    }

参数的三种风格:

  1. 方位名词: (top, left, right, bottom)
  2. 精确单位: 坐标或者百分比(以左上角为原点)
  3. 混合单位: 同时包含方位名词和精确单位
  • 两个参数都是方位名词, 则前后顺序无关. (top left 和 left top 等效)

  • 只有一个名词,第二个默认居中(left水平居中)

  • 参数是精确值:第一个是x,第二个是y

  • 参数是精确值:只有一个,是x是值,另一个默认居中

  • 混合单位,第一个是x的,第二个为y

    计算机中的平面坐标系, 一般是左手坐标系(y轴向下)

5.背景尺寸
		background-size: 700px 400px;
		background-size: 80%;
	
        background-size: cover;
        background-size: contain;
  • 填写具体的值
  • 填百分比
  • cover: 扩展至足够大,图像完全覆盖背景区域.超出范围(溢出盒子)
  • contion:扩展至完全适应内容区域的最大尺寸(被盒子框住)

4.圆角矩形

通过 border-radius 使边框带圆角效果

    div {
        width: 400px;
        height: 200px;
        border: 2px green solid; 
        /*solid显示线条  */
        border-radius: 20px;
    
    }
  • length 是内切圆的半径. 数值越大, 弧线越强烈
生成圆形
  • 让 border-radius 的值为正方形宽度的一半
    div {
        width: 400px;
        height: 400px;
        border: 2px green solid; 
        /*solid显示线条  */
        border-radius: 50%;
    
    }
生成圆角矩形
  • border-radius 的值为矩形高度的一半
    div {
        width: 400px;
        height: 200px;
        border: 2px green solid; 
        /*solid显示线条  */
        border-radius: 100px;
    
    }
  • 还可以,针对四个角分别设置
border-radius:2em;                             
等价于                                              
border-top-left-radius:2em;
border-top-right-radius:2em;
border-bottom-right-radius:2em;
border-bottom-left-radius:2em;

border-radius: 10px 20px 30px 40px;
等价于
border-top-left-radius:10px;
border-top-right-radius:20px;
border-bottom-right-radius:30px;
border-bottom-left-radius:40px;

六、元素的显示模式

1.块级元素
h1 - h6
p
div
ul
ol
li
  • 独占一行
  • 高度, 宽度, 内外边距, 行高都可以控制
  • 和父元素一样宽
  • 是一个容器(盒子), 里面可以放行内和块级元素
<style>
    .demo1 .parent {
        width: 500px;
        height: 500px;
        background-color: green;
   }
    .demo1 .child {
        /* 不写 width, 默认和父元素一样宽 */
        /* 不写 height, 默认为 0 (看不到了) */
        height: 200px;
        background-color: red;
   }
</style>
<div class="demo1">
    <div class="parent">
        <div class="child">
           child1
        </div>
        <div class="child">
           child2
        </div>
    </div>
</div>
  • 文字类的元素内不能使用块级元素

    p 标签主要用于存放文字, 内部不能放块级元素, 尤其是div

2.行内元素
a
strong
b
em
i
del
s
ins
u
span
  • 不独占一行, 一行可以显示多个
  • 无法设置高度, 宽度, 行高
  • 默认宽度就是本身的内容
  • 行内元素只能容纳文本和其他行内元素, 不能放块级元素
  • 行内元素 的宽度和高度会根据其内容进行改变
3.行内元素和块级元素的区别

1.块级元素独占一行, 行内元素不独占一行

2.块级元素可以设置宽高, 行内元素不能设置宽高

3.块级元素四个方向都能设置内外边距, 行内元素垂直方向不能设置.

4.改变显示模式
  • 使用 display 属性可以修改元素的显示模式
  • 可以把 div 等变成行内元素, 也可以把 a , span 等变成块级元素
display: block 改成块级元素 [常用]
display: inline 改成行内元素 [很少用]
display: inline-block 改成行内块元素

    a{
        display: block;
    }

    <a href="#">test1</a>
    <a href="#">test2</a

七、盒模型

  • 每一个 HTML 元素就相当于是一个矩形的 “盒子”
边框 border
内容 content
内边距 padding
外边距 margin
1.边框
粗细: border-width

样式: border-style, 默认没边框. solid 实线边框 dashed 虚线边框 dotted 点线边框

颜色: border-color
    div{
        width: 200px;
        height: 100px;
        border-color: black;
        border-style: solid;
        border-width: 10px;
    }

简写: border: black solid 10px;
边框会把盒子撑大
  • 通过 box-sizing 属性可以修改浏览器的行为, 使边框不再撑大盒子
    div{
        width: 200px;
        height: 100px;
        border-color: black;
        border-style: solid;
        border-width: 10px;
        box-sizing: border-box;
    }
* {
    box-sizing: border-box;
}
2.内边距
  • padding 设置内容和边框之间的距离
  • 默认内容是顶着边框来放置的. 用 padding 来控制这个距离
        padding-left: 5px;
        padding-top: 5px;
        padding-right: 5px;
        padding-bottom: 5px;

简写: padding: 5px;
还有按照顺时针写四个px
3.外边距
  • 控制盒子和盒子之间的距离
    div{
        border: solid green 5px;
        /* margin-top: 5px;
        margin-bottom: 5px;
        margin-left: 5px;
        margin-right: 5px; */
        /* margin: 5px; */
        margin: 5px 5px 6px 6px;
    }
4.块级元素水平居中
  • 前提:指定宽度(如果不指定宽度, 默认和父元素一致)

  • 把水平 margin 设为 auto

    div{
        border: solid green 5px; 
        width: 200px;
        height: 100px;

        margin: auto;
        /* 居中的是盒子,调整的是外边框 */
        
        text-align: center;
    }
margin-left: auto; margin-right: auto;
margin: auto;
margin: 0 auto;

三种写法都可以

  • 对于垂直居中, 不能使用 "上下 margin 为 auto " 的方式
5.去除浏览器默认样式
    * {
        margin: 0px;
        padding: 0px;
    }

八、弹性布局

1.flex布局的概念
  • flex 是 flexible box 的缩写(弹性盒子)
  • 任何一个 html 元素, 都可以指定为 display:flex 完成弹性布局
  • 本质是给父盒子添加 display:flex 属性, 来控制子盒子的位置和排列方式
  • 当父元素设置为 display: flex 之后, 子元素的 float, clear, vertical-align 都会失效
    div {
        height: 700px;
        width: 700px;
        background-color: green;
        display: flex;
        /*定义在直接的父级元素上 
        加上后不再是行内元素,大小为自己设置的宽高 */
    }
  • flex container :被设置display:flex属性的元素
  • flex item: 子元素成为这个容器的成员。可以纵向排列或者横向排列
  • flex direction(主轴):控制排列方向
2.常用属性
1.justify-content
  • 设置主轴上的子元素排列方式
        justify-content:flex-end;
        /* 项目位于容器的结尾 */
        justify-self: start;
        /* start是默认情况,默认在容器的开头 */

平分剩余空间
        justify-content: space-between;
        /* 项目在行与行直接有间隙 */
        justify-content: space-around;
         /* 在项目的行之前,行之后,行之间留上空间 */
2.align-items
  • 设置侧轴上的元素排列方式
  • align-items 只能针对单行元素来实现. 如果有多行元素, 就需要使用 item-contents
        align-items: stretch;
        align-items:start;
        align-items:end;
        align-items: center;
        align-items: space-around;
        align-items: space-between;

stretch(拉伸)是 align-content 的默认值

  • 如果子元素没有被显示指定高度,就会填充父元素的高度

点击移步博客主页,欢迎光临~

【前端】CSS(引入方式+选择器+常用元素属性+盒模型+弹性布局),前端,前端,css,盒模型,选择器,元素属性,弹性布局文章来源地址https://www.toymoban.com/news/detail-851860.html

到了这里,关于【前端】CSS(引入方式+选择器+常用元素属性+盒模型+弹性布局)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 前端:常用的获取元素位置与元素尺寸的属性与方法

    属性/方法 描述 clientWidth 返回元素内容区的宽度(不包括滚动条、边框和外边距)。对于 box-sizing: border-box 的元素,包含内边距。 clientHeight 返回元素内容区的高度(不包括滚动条、边框和外边距)。对于 box-sizing: border-box 的元素,包含内边距。 offsetWidth 返回元素的总宽度,

    2024年04月13日
    浏览(20)
  • 『 前端三剑客 』:CSS常用属性

    『 前端三剑客 』:CSS常用属性

    一 . CSS常用元素属性 1.1 字体家族和 字体大小 设置的字体需要是 windows 上自带的字体 , 要求是系统中已经安装了的字体 使用 css 设置字体为微软雅黑 和 宋体 , 字体大小为 30 px 和 40 px font - size 设置的是字体的字符框的高度的大小 . 设置效果如下所示 1.2 设置字体粗细 font-we

    2024年02月15日
    浏览(14)
  • 【前端】深入解析CSS:选择器、显示模式、背景属性和特征剖析

    【前端】深入解析CSS:选择器、显示模式、背景属性和特征剖析

    CSS(层叠样式表)作为前端开发的核心技术之一,为网页赋予了美观和交互性。本文将深入探讨CSS的复合选择器、元素显示模式、背景属性以及其三大特征,帮助读者更好地理解和应用CSS。 后代选择器 又称为 包含选择器 ,可以选择父元素里边子元素,其写法就是把外层标签

    2024年02月11日
    浏览(11)
  • 微信小程序display常用属性和子元素排列方式介绍

    wxss中display常用显示属性与css一致,介绍如下: 针对元素本身显示的属性: display=block,元素显示换行 display=inline,元素显示换行,但不可设置固定的宽度和高度,也不可设置上下方向的margin和padding值 display=inline-block,元素显示换行,可设置固定的宽度和高度,margin和paddin

    2024年02月04日
    浏览(11)
  • 前端编写页面HTML、CSS常用属性方法汇总

    不太常用的属性: box-shadow的: CSS3动画的点: 控制文字行数: CSS3的一些冷知识: @keyframes: HTML5: html+css乱七八糟的: JavaScript:

    2024年02月16日
    浏览(26)
  • 第45天:标签的分类和重要属性及常用标签、css介绍及选择器

            标签的分类         按 结构 分,html标签可以分为 单标签 和 双标签 。         单标签         由一个标签组成。例如:         双标签         由 开始标签 和 结束标签 两部分构成,例如:         按照 属性 分,标签还可以分为 块级标签 和 行

    2024年02月07日
    浏览(9)
  • 【前端|CSS系列第2篇】CSS零基础入门之常用样式属性

    【前端|CSS系列第2篇】CSS零基础入门之常用样式属性

    欢迎来到CSS零基础入门系列的第二篇博客!作为前端开发的关键技术之一,CSS(层叠样式表)能够为网页添加各种样式和布局效果。对于前端零基础的小白来说,了解和掌握CSS的常用样式属性是入门的关键。本篇博客将带你深入了解如何设置常用样式属性,包括文本属性、字

    2024年02月11日
    浏览(14)
  • 前端 | (五)CSS三大特性及常用属性 | 尚硅谷前端html+css零基础教程2023最新

    前端 | (五)CSS三大特性及常用属性 | 尚硅谷前端html+css零基础教程2023最新

    学习来源 :尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频 系列笔记 : 【HTML4】(一)前端简介 【HTML4】(二)各种各样的常用标签 【HTML4】(三)表单及HTML4收尾 【CSS2】(四)CSS基础及CSS选择器 【CSS2】(五)CSS三大特性及常用属性 【CSS2】(六)CSS盒子模型

    2024年02月17日
    浏览(18)
  • 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性

    〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费 , 如需要项目实战或者是体系化资源,文末名片加V! 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。 荣誉: 2022年度博客之星Top4、2023年度超

    2024年02月04日
    浏览(48)
  • 【web前端开发】CSS最常用的11种选择器

    【web前端开发】CSS最常用的11种选择器

    CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。 CSS的作用:给HTML里面的标签设置样式 简单点来说就是让HTML的页面变得更加好看 CSS是写在 style 标签里面的,而st

    2023年04月09日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包