前端开发记录知识点

目录

CSS盒模型

水平垂直居中的几种方式

flex布局

样式穿透

vue2和vue3的区别(超详细)

TypeScript在vue2项目中的写法

TypeScript 全面介绍

前端学习网站推荐

flex布局 阮一峰

grid 布局 阮一峰

CSS文本效果

前端框架和UI组件库 - 汇总

TypeScript 教程


CSS盒模型

一个盒子中主要的属性有5个:width、height、padding、border、margin。如下:

  • width:内容的宽度
  • height:内容的高度
  • padding:内边距
  • border:边框
  • margin:外边距

盒子模型有两种:1、标准盒子模型  2、IE盒子模型

两者的区别是:

  • 标准盒子模型的实际宽度是:width+padding+border
  • 标准盒子模型的实际高度是:height+padding+border
  • IE盒子模型的实际宽度是:width
  • IE盒子模型的实际高度是:height

box-sizing:

  • content-box   标准盒子模型
  • border-box    IE盒子模型
  • 不设置默认为标准盒子模型

水平垂直居中的几种方式

1.使用flex布局

.father {
  display: flex;
  justify-content: center; /*水平居中*/
  align-items: center; /*垂直居中*/
}

2.使用grid布局

.father {
  display: grid;
  place-items: center; /*水平垂直居中*/
}

3.使用绝对定位和transform属性(父元素需要写高度)

.father {
    position: relative;
    height: 200px;
    background: skyblue;
}

.son {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /*将元素自身的宽高的一半作为偏移量*/
}

4.使用position和margin属性(父子元素需要写宽高)

.father {
    position: relative;
    width: 200px;
    height: 200px;
    background: skyblue;
}

.son {
      width: 50%;
      height: 50%;
      position: absolute;
      top: 0; left: 0; bottom: 0; right: 0;
      margin: auto;
}

5.使用text-align和line-height(父元素要写高度)

.father {
    line-height: 200px;/*垂直居中关键*/
    text-align:center;
    height: 200px;
    font-size: 36px;
    background-color: #ccc;
}

flex布局

1、父元素属性

  • flex-direction  主轴排列方向 row | row-reverse | column | column-reverse;
  • flex-wrap  换行 nowrap | wrap | wrap-reverse;
  • justify-content 主轴对齐方式 flex-start | flex-end | center | space-between | space-around | space-evenly;
  • align-items 副轴对齐方式 flex-start | flex-end | center | stretch | baseline;
  • align-content 多条副轴对齐方式 flex-start | flex-end | center | stretch | space-between | space-around ;

2、子元素属性

  • order 排序,数值越小,排列越靠前,默认为 0 属性值 0 | 1 | 2 | ... 
  • flex-grow 放大比例,默认为0,默认不放大,属性值 0 | 1
  • flex-shrink 缩小比例,默认为1,默认缩小, 属性值 1 | 0
  • flex-basis 子元素的大小,优先级高于width ,属性值 auto|xxPX
  • flex 属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto) 。属性值 auto | none | 1
  • align-self 子元素在副轴的对齐方式,优先级高于align-item,属性值 auto | flex-start | flex-end | center | baseline | stretch;

样式穿透

css中通常会在 style 标签内添加 scoped 来避免父组件对子组件的影响,添加了之后只能修改当前组件的样式。

这样做的原理是通过在打包的时候给每个样式都添加一个独一无二的hash值,从而避免父组件对子组件的样式的影响。

如果去掉scoped的话就会影响全局样式,但是加上scoped又不能在当前组件修改子组件的样式,这个时候就可以使用 深度选择器了。

用法:

/deep/ .con{
  color:red;
}
>>> .con{

  color:red;
}
::v-deep .con{

  color:red;
}
有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。

vue3正确的写法

::v-deep(.con){
  color:red;
}
注意:/deep/  ::v-deep 只能在像 less , sass 等css预处理器中使用,在原生css中使用无效,所以原生css当中应使用 >>> 

vue2使用/deep/ vue3中把/deep/ 改为 :deep
————————————————
版权声明:本文为CSDN博主「小刘前端」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_58348743/article/details/128492046

Vue 深度选择器:deep()与::v-deep详解
在Vue中,::v-deep 和 :deep() 都用于修改CSS选择器的作用域。
区别在于:

:deep() 是一个伪类选择器,可以用于将CSS规则应用于当前组件及其所有子组件中匹配选择器的元素。例如,.foo :deep(.bar)会选择包含class为"bar"的元素的所有嵌套层次结构。
::v-deep 是一个特殊的深度作用选择器,它只在scoped样式中起作用,并且可以将CSS规则应用于当前组件及其所有子组件中匹配选择器的元素。例如,.foo::v-deep .bar 会选择包含class为"bar"的元素的所有嵌套层次结构,但仅对 .foo组件的样式生效。
因此,::v-deep 更具有局部性,而且只能在scoped样式中使用。而 :deep() 则更加通用,适用于全局样式和嵌套组件中的样式。

针对于不同电脑上deep无法生效的原因,大致分为以下几种:
版本问题: 有时候代码库的版本和计算机上安装的库版本不匹配,导致代码无法正常运行。建议检查代码所需的库是否已正确安装并更新至最新版本。
环境差异:不同电脑的操作系统、硬件、软件配置等环境因素可能会影响代码的运行。例如,某些代码需要使用特定版本的 GPU、驱动程序或依赖于特定的操作系统功能。在这种情况下,需要检查代码所需的环境是否在你的电脑上可用。
输入数据问题:有时候代码的行为取决于输入数据。如果输入数据与预期不符合,代码可能无法正常运行。建议检查输入数据是否符合代码的要求,并尝试使用其他数据重新运行代码。
代码问题: 最后,代码本身可能存在错误或 bug,导致它无法在某些电脑上正常工作。这种情况下,可以尝试从代码库中找到解决方案或联系代码作者以获取帮助。
————————————————
版权声明:本文为CSDN博主「CCT丶Blue」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CCC_chtt/article/details/130387675

vue2和vue3的区别(超详细)

vue2和vue3的区别(超详细)_vue2和vue3区别-CSDN博客

TypeScript在vue2项目中的写法

TS在vue2项目中的写法_vue2使用ts_AllenZouJ的博客-CSDN博客

TypeScript 全面介绍

TypeScript 全面介绍-CSDN博客

前端学习网站推荐

MDN网站 :overflow - CSS:层叠样式表 | MDN

flex布局 阮一峰

Flex 布局教程:语法篇 - 阮一峰的网络日志

grid 布局 阮一峰

CSS Grid 网格布局教程 - 阮一峰的网络日志

CSS文本效果

1、word-wrap:break-word与word-break:break-all共同点是都能把长单词强行断句,不同点是word-wrap:break-word会首先起一个新行来放置长单词,新的行还是放不下这个长单词则会对长单词进行强制断句;而word-break:break-all则不会把长单词放在一个新行里,当这一行放不下的时候就直接强制断句了。

CSS 文本_w3cschool

CSS3 文本效果_w3cschool

overflow-wrap - CSS:层叠样式表 | MDN

2、text-align属性设置块元素或者单元格框的行内内容的水平对齐。这意味着其效果和 vertical-align 类似,但是是水平方向的。start | end | left | right | center | justify

前端框架和UI组件库 - 汇总

你不知道的前端框架和UI组件库 - 大合集【收藏必备】_前端组件库-CSDN博客

TypeScript 教程

《TypeScript 教程》发布了 - 阮一峰的网络日志

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值