位置: IT常识 - 正文

移动端H5网页开发必备知识(h5移动端网页设计)

编辑:rootadmin
移动端H5网页开发必备知识 简介

推荐整理分享移动端H5网页开发必备知识(h5移动端网页设计),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:h5移动端ui,移动端h5页面开发教程,移动端的html5网页制作,h5网页打开,h5移动端网页设计,移动端h5页面开发教程,移动端h5页面代码示例,移动端h5页面开发教程,内容如对您有帮助,希望把文章链接给更多的朋友!

工欲善其事必先利其器,今天这篇文章主要讲解移动端H5开发必备的一些基础知识以及移动端适配和布局方案。如果已经看过这篇文章了或者已经掌握了移动端基础的话可以看笔者写的

移动端H5网页开发常见问题汇总

移动端开发必备知识-Hybrid App

像素

像素即一个小方块,它具有特定的位置和颜色。图片、电子屏幕(手机、电脑)就是由指定数个具有特定颜色和特定位置的小方块拼接而成。比如我们的电脑屏幕1920 * 1080的电脑屏幕,横向有1920个像素纵向有1080个像素。

像素单位有设备像素、逻辑像素、CSS 像素 3 种。

设备像素、独立像素、设备像素比、 CSS 像素设备像素

设备像素也叫物理像素,是屏幕上最小的显示单元,即设备上真实的物理单元,在设备生产的时候就已经定好。(iphone6 750px)一般比独立像素大。

独立像素

独立像素(DP 或 Dip)是一种虚拟像素,是逻辑上衡量像素的单位,不缩放的情况下等于 css 像素。(iphone5 320px iphone6 375px)。

设备像素比

设备像素比 dpr 就是设备像素和独立像素的比例。比如iphone6的dpr就是2,iphone6 Plus的dpr就是3。

在 web 中,浏览器为我们提供了 window.devicePixelRatio 来帮助我们获取 dpr。在 css 中,可以使用媒体查询 min-device-pixel-ratio 获取dpr。在 React Native 中,我们也可以使用 PixelRatio.get()来获取 dpr。

@media (-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2) {}

设备像素与设备独立像素之间的比例是多少,普遍规律是,屏幕的像素密度越高,就需要更多的设备像素来显示一个设备独立像素。

CSS 像素

在 CSS 中使用的 px 都是指 css 像素,比如 width: 128px。css 像素的大小是很容易变化的,当我们缩放页面的时候,元素的 css 像素数量不会改变,改变的只是每个 css 像素的大小。也就是说 width: 128px 的元素在缩放200% 以后,宽度依然是 128 个 css 像素,只不过每个 css 像素的宽度和高度变为原来的两倍。如果原本元素宽度为 128 个设备独立像素,那么缩放 200% 以后元素宽度为 256 个设备独立像素。

css 像素与设备独立像素的关系

缩放比例就是 css 像素边长/设备独立像素边长;在缩放比例为 100% 的情况下,1 个 css 像素大小等于 1 个设备独立像素;在缩放比例为 200% 的情况下,1 个 css 像素大小等于 (2 * 2) 个设备独立像素;Retina 屏

前面说到了像素和设备像素比,这里我们再说说Retina 屏。所谓Retina是一种显示标准,是把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率,并提高屏幕显示的细腻程度。在正常阅读距离下,人眼无法分辨屏幕上的像素颗粒,使得屏幕显示效果更为细腻平滑。从iPhone4开始, 苹果公司为其产品mac、iPhone以及iPad的屏幕配置了Retina屏幕。

增加分辨率的方式不同普通屏幕通过增大尺寸来增加分辨率。Retina屏幕通过提升屏幕单位面积内的像素数量(增大PPI),即像素密度来提升分辨率,这样就有了高像素密度屏幕。相同的设备物理尺寸,CSS像素与物理像素的转换不同普通屏幕: 1px 等于一个物理像素。Retina屏幕:1px 等于四个物理像素。k 和 p

我们经常见到用 K 和 P 这个单位来形容屏幕:

P 代表的就是屏幕纵向的像素个数,1080P 即纵向有 1080 个像素,分辨率为 1920X1080 的屏幕就属于 1080P 屏幕。K 代表屏幕横向有几个像素,一般来讲横向像素超过 2048 就属于 2K 屏,横向像素超过 4096 就属于 4K 屏。

英寸

一般用英寸描述屏幕的物理大小,如电脑显示器的 17、22,手机显示器的 4.8、5.7 等使用的单位都是英寸。需要注意尺寸都是屏幕对角线的长度。1 英寸 = 2.54 厘米。

PPI

PPI(Pixel Per Inch):每英寸包括的像素数。

PPI 可以用于描述屏幕的清晰度以及一张图片的质量。使用 PPI 描述图片时,PPI 越高,图片质量越高,使用 PPI 描述屏幕时,PPI 越高,屏幕越清晰。

计算方式 水平像素点数平方与垂直像素点数平方的和的平方根除以屏幕英寸(屏幕对角线长度)。

DPI

DPI(Dot Per Inch):即每英寸包括的点数。

平时你可能会看到使用 DPI 来描述图片和屏幕,这时的 DPI 应该和 PPI 是等价的,DPI 最常用的是用于描述打印机,表示打印机每英寸可以打印的点数。

所以,打印机的 DPI 越高,打印图像的精细程度就越高,同时这也会消耗更多的墨点和时间。

em

em 相对于元素自身的 font-size,1em就等于该元素font-size的大小。由于font-size具有继承性,所以就算本元素没设置font-size大小,也会继承父元素的font-size,如果父元素也没有,会沿着 DOM 树一直向上查找,直到根元素 html,根元素的默认字体大小为 16px。

rem

有了em的基础,rem就更简单了,rem只与根元素html的font-size大小有关,大小固定不变,1rem 就等于根元素 html 的字体大小。

视口(viewport)布局视口(layout viewport)

布局视口,在移动端显示网页时,由于移动端的屏幕尺寸比较小,如果网页使用移动端的屏幕尺寸进行布局的话,那么整个页面的布局都会显示错乱。所以移动端浏览器提供了一个 layout viewport 布局视口的概念,使用这个视口来对页面进行布局展示,一般 layout viewport 的大小默认为 980px,这保证 PC 的网页可以在手机浏览器上呈现,但是非常小,用户可以手动对网页进行放大。我们可以通过调用 document.documentElement.clientWidth / clientHeight 来获取布局视口大小。布局视口可理解为你网页的宽度。

视觉视口(visual viewport)

视觉视口,visual viewport 指的是移动设备上我们可见的区域的视口大小,一般为设备独立像素大小。visual viewport 和 layout viewport 的关系,就像是我们通过窗户看外面的风景,视觉视口就是窗户,而外面的风景就是布局视口中的网页内容。我们可以通过调用 window.innerWidth / innerHeight 来获取视觉视口大小。视觉视口可以理解为设备独立像素大小。

理想视口(ideal viewport)移动端H5网页开发必备知识(h5移动端网页设计)

理想视口,由于 layout viewport 一般比 visual viewport 要大,所以想要看到整个页面必须通过拖动和缩放才能实现。所以又提出了 ideal viewport 的概念,ideal viewport 下用户不用缩放和滚动条就能够查看到整个页面,并且页面在不同分辨率下显示的内容大小相同。ideal viewport 其实就是通过修改 layout viewport 的大小,让它等于设备的宽度,这个宽度可以理解为是设备独立像素,因此根据 ideal viewport 设计的页面,在不同分辨率的屏幕下,显示应该相同。我们可以通过调用 screen.width / height 来获取理想视口大小,返回的是设备独立像素。理想视口可理解为布局视口与视觉视口相等。

利用 meta 标签对 viewport 进行控制

移动设备默认的 viewport 是 layout viewport,也就是那个比屏幕要宽的 viewport,默认宽度是980px。所以我们经常使用meta标签对viewport进行控制,一般我们设置width=device-width也就是让布局视口和视觉视口相等,即达到理想视口。

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />viewport的属性width 正整数或 device-width 以 pixels(像素)为单位, 定义布局视口的宽度。height 正整数或 device-height 以 pixels(像素)为单位, 定义布局视口的高度。initial-scale0.0 - 10.0 定义页面初始缩放比率。minimum-scale0.0 - 10.0 定义缩放的最小值;必须小于或等于 maximum-scale 的值。maximum-scale0.0 - 10.0 定义缩放的最大值;必须大于或等于 minimum-scale 的值。user-scalable 一个布尔值(yes 或者 no)如果设置为 no,用户将不能放大或缩小网页。默认值为 yes适配方案

移动端手机各种各样,手机屏幕也五花八门,所以做移动端H5开发必须要了解适配方案。也就是我们一套代码能兼容各种类型的手机。移动端适配的方案主要有@media媒体查询方案、rem方案、vw vh方案,下面我们逐一介绍。

使用 css 的媒体查询 @media

通过媒体查询来适配不同的屏幕,这里不具体介绍媒体查询感兴趣的可以自行学习。

@media *mediatype* and|not|only *(media feature)* { CSS-Code;}@media screen and (min-width: 375px) { .box { width : 160px; } }@media screen and (min-width: 750px) { .box { width : 320px; } }

媒体查询虽然能解决适配问题但是使用媒体查询的缺点也很明显

页面上所有的元素都得在不同的 @media 中定义一遍不同的尺寸,代码冗余多。如果再多一种屏幕尺寸,就得多写一个 @media 查询块。媒体查询块的书写顺序也很有讲究,后面的会覆盖前面的,很容易出错。使用 rem

前面我们已经介绍过rem了,1rem的大小就是html元素font-size的大小。所以使用rem布局的核心就是动态设置根元素html的字体大小。在rem适配方案中比较流行的是淘系的lib-flexible和amfe-flexible方案。

lib-flexible和amfe-flexible这两种移动端适配方案都是基于rem实现的。下面我们具体介绍下使用方式,不过官方文档也说了,由于viewport单位得到众多浏览器的兼容,lib-flexible和amfe-flexible这个过渡方案已经可以放弃使用,不管是现在的版本还是以前的版本,都存有一定的问题。建议大家开始使用viewport来替代此方。

lib-flexible

感兴趣的可以看看lib-flexible的源码,这个版本会自动生成viewport meta标签。

核心代码:

// 根元素字体的大小是布局视口大小/10。function refreshRem(){ var width = docEl.getBoundingClientRect().width; if (width / dpr > 540) { width = 540 * dpr; } var rem = width / 10; docEl.style.fontSize = rem + 'px'; flexible.rem = win.rem = rem;}// 动态生成 viewport meta标签if (!metaEl) { metaEl = doc.createElement('meta'); metaEl.setAttribute('name', 'viewport'); metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no'); if (docEl.firstElementChild) { docEl.firstElementChild.appendChild(metaEl); } else { var wrap = doc.createElement('div'); wrap.appendChild(metaEl); doc.write(wrap.innerHTML); }}

注意点:

// 如果是苹果手机,才会根据dpr进行缩放,其余的都不做缩放处理// 我觉得这里的设计应该主要是解决1px的问题吧,在amfe-flexible方案中已经放弃了if (!dpr && !scale) { var isAndroid = win.navigator.appVersion.match(/android/gi); var isIPhone = win.navigator.appVersion.match(/iphone/gi); var devicePixelRatio = win.devicePixelRatio; if (isIPhone) { // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案 if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) { dpr = 3; } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){ dpr = 2; } else { dpr = 1; } } else { // 其他设备下,仍旧使用1倍的方案 dpr = 1; } scale = 1 / dpr;}

lib-flexible的使用方式:

// 安装npm install lib-flexible --save-dev// 引用import 'lib-flexible/flexible.js'

这样就会给我们的index.html页面自动生成viewport meta标签,比如<meta name="viewport" content="initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no">

有了lib-flexible的配置,这样就能适配不同的手机屏幕了。我们只需要记住计算公式某元素css尺寸 = 某元素设计稿尺寸/(设计稿宽度/10)。比如设计师的设计稿是375的,假设某元素在设计稿上的高度是75px,我们就需要在代码里面设置该元素的高度为75/(375/10) = 2rem。

如果觉得手动计算特别累,我们可以使用postcss-pxtorem插件自动给我们进行计算。

postcss-pxtorem插件的核心是需要我们设置rootValue,如果我们的设计稿是375的我们只需要设置rootValue为37.5,如果我们的设计稿是750的我们只需要设置rootValue为75。这样我们在css中只需要按设计给元素设置px大小,该插件在打包的时候会自动给我们把rem的值计算好,是不是非常棒呢。

// 这里是postcss-pxtorem插件的默认配置{ rootValue: 16, unitPrecision: 5, propList: ['font', 'font-size', 'line-height', 'letter-spacing'], selectorBlackList: [], replace: true, mediaQuery: false, minPixelValue: 0, exclude: /node_modules/i}// 一般我们只需要修改rootValue即可{ rootValue: 37.5,}amfe-flexible

感兴趣的可以看看amfe-flexible 的源码。这个版本代码更加简洁并且不会自动生成viewport meta标签。

核心代码:

// set 1rem = viewWidth / 10function setRemUnit () { var rem = docEl.clientWidth / 10 docEl.style.fontSize = rem + 'px'}

使用方式:

// 安装npm install amfe-flexible --save-dev// 引用import 'amfe-flexible/index.js'// 在index.html页面添加 viewport meta标签<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

在amfe-flexible方案中没有了dpr没有了自动生成viewport meta标签,没有了页面的缩放,变的更加简洁了。

跟lib-flexible使用方式类似,有了amfe-flexible的配置,这样就能适配不同的手机屏幕了。我们只需要记住计算公式某元素css尺寸 = 某元素设计稿尺寸/(设计稿宽度/10)。比如设计师的设计稿是375的,假设某元素在设计稿上的高度是75px,我们就需要在代码里面设置该元素的高度为75/(375/10) = 2rem。

如果觉得手动计算特别累,我们可以使用postcss-pxtorem插件自动给我们进行计算。

postcss-pxtorem插件的核心是需要我们设置rootValue,如果我们的设计稿是375的我们只需要设置rootValue为37.5,如果我们的设计稿是750的我们只需要设置rootValue为75。这样我们在css中只需要按设计稿给元素设置px大小,该插件在打包的时候会自动给我们把rem的值计算好,是不是非常棒呢。

// 这里是postcss-pxtorem插件的默认配置{ rootValue: 16, unitPrecision: 5, propList: ['font', 'font-size', 'line-height', 'letter-spacing'], selectorBlackList: [], replace: true, mediaQuery: false, minPixelValue: 0, exclude: /node_modules/i}// 一般我们只需要修改rootValue即可{ rootValue: 37.5,}使用 vw vh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MMIMb2P3-1668602484737)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7a8115dc49f94892964ae1913e4818ec~tplv-k3u1fbpfcp-watermark.image?)]

vw:是 viewport’s width 的简写,屏幕宽度=100vw。vh:和 vw 类似,是 viewport’s height 的简写,屏幕高度=100v。vmin:vmin 的值是当前 vw 和 vh 中较小的值。vmax:vmax 的值是当前 vw 和 vh 中较大的值。

使用vw和vh的适配方式相较于rem方式更简单,我们只需要设置viewport meta标签后就可以直接使用了。

使用方式:

// 在index.html页面添加 viewport meta标签<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

跟上面的lib-flexible和amfe-flexible使用方式类似,这样就能适配不同的手机屏幕了。我们只需要记住计算公式某元素css尺寸 = 某元素设计稿尺寸/(设计稿宽度/100) vw。比如设计师的设计稿是375的,假设某元素在设计稿上的高度是75px,我们就需要在代码里面设置该元素的高度为75/(375/100) = 20vw。这里需要注意的是我们宽高都只能用vw为单位。

如果觉得手动计算特别累,我们可以使用postcss-px-to-viewport插件自动给我们进行计算。

postcss-px-to-viewport插件的核心是需要我们设置viewportWidth也就是设计稿的宽度(这点是跟postcss-pxtorem的区别),如果我们的设计稿是375的我们只需要设置viewportWidth为375,如果我们的设计稿是750的我们只需要设置viewportWidth为750。这样我们在css中只需要按设计稿给元素设置px大小,该插件在打包的时候会自动给我们把vw的值计算好,是不是非常棒呢。

// 这里是postcss-px-to-viewport插件的默认配置{ unitToConvert: 'px', viewportWidth: 320, unitPrecision: 5, propList: ['*'], viewportUnit: 'vw', fontViewportUnit: 'vw', selectorBlackList: [], minPixelValue: 1, mediaQuery: false, replace: true, exclude: undefined, include: undefined, landscape: false, landscapeUnit: 'vw', landscapeWidth: 568}// 一般我们只需要改viewportWidth即可{ viewportWidth: 375,}

我们还可以使用postcss-px-to-viewport 插件的 Ignoring 特性,标注不需要转换的属性

/* px-to-viewport-ignore */ 当前行不进行转换/* px-to-viewport-ignore-next */ 下一行不进行转换.box { /* px-to-viewport-ignore-next */ width: 10px; height: 10px; padding: 10px; /* px-to-viewport-ignore */}布局方案

说完了移动端的适配,接下来我们说说移动端的布局方案,移动端布局方案有很多,笔者推荐大家看看 移动端布局教程这篇文章,这里面介绍了移动端常见的布局方案,笔者就不再赘述了。

在这么多布局中,笔者觉得我们必须要掌握的是flex布局和grid布局,因为在日常H5开发中,这两个布局基本上是离不开的。关于flex布局和grid布局的教程有很多,这里我就不班门弄斧了,我推荐大家读阮一峰老师的 Flex 布局教程、Grid 网格布局教程。掌握了这两套心法,我觉得在移动端H5开发布局这方面已经没有什么能难得住你了。

扩展关于窗口大小的常见APIscreen.width 获取屏幕的宽度 跟浏览器无关screen.height 获取屏幕的高度 跟浏览器无关screen.availWidth 获取屏幕有效宽度 如果任务栏设置在左右两侧的话,去除任务栏宽度screen.availHeight 获取屏幕有效高度 去除任务栏高度window.outerWidth 获取浏览器宽度 包括浏览器所有包括侧边栏、窗口镶边和调正窗口大小的边框。window.outerHeight 获取浏览器高度 包括浏览器所有包括侧边栏、窗口镶边和调正窗口大小的边框。window.innerWidth:获取浏览器视觉视口宽度(包括滚动条)。window.innerHeight:获取浏览器视觉视口高度(包括滚动条)。document.documentElement.clientWidth:获取浏览器布局视口宽度。不包括滚动条。document.documentElement.clientHeight:获取浏览器布局视口高度。不包括滚动条。dom.clientWidth:获取元素的宽度 包括内容和内边距dom.clientHeight:获取元素的高度 包括内容和内边距dom.offsetWidth:获取元素的宽度 包括内容、内边距、滚动条、边框。dom.offsetHeight:获取元素的高度 包括内容、内边距、滚动条、边框。dom.scrollWidth:获取元素内容实际的宽度 包括内边距。dom.scrollHeight:获取元素内容实际的高度 包括内边距。dom.clientTop:获取元素上边框高度dom.clientLeft:获取元素左边框宽度dom.offsetTop:获取元素距离页面顶部高度dom.offsetLeft:获取元素距离页面左边的宽度dom.scrollTop:获取元素滚动条在垂直方向上滚动的距离dom.scrollLeft:获取元素滚动条在水平方向上滚动的距离后记

本文为笔者个人学习笔记,如有谬误,还请告知,万分感谢!如果本文对你有所帮助,还请点个赞~~

本文链接地址:https://www.jiuchutong.com/zhishi/298604.html 转载请保留说明!

上一篇:深度学习知识点简单概述【更新中】

下一篇:VUE——使用VUE脚手架创建项目(vue-cli(vue脚手架)超详细教程)

  • 世人对袁隆平的评价句子(名人对袁隆平评价的句子)(世人对袁隆平的评价语)

    世人对袁隆平的评价句子(名人对袁隆平评价的句子)(世人对袁隆平的评价语)

  • 小米10青春版支持内存卡扩展吗(小米10青春版支持OTG功能吗)

    小米10青春版支持内存卡扩展吗(小米10青春版支持OTG功能吗)

  • 怎么删淘宝的购买记录(怎么删淘宝购物券)

    怎么删淘宝的购买记录(怎么删淘宝购物券)

  • 抖音已重置的人怎么找(抖音已重置的人怎么删除)

    抖音已重置的人怎么找(抖音已重置的人怎么删除)

  • 爱奇艺下载视频怎么保存到本地(爱奇艺下载视频怎么导出)

    爱奇艺下载视频怎么保存到本地(爱奇艺下载视频怎么导出)

  • 为什么快手关注与实际人数不一样(为什么快手关注的人自动取消关注了)

    为什么快手关注与实际人数不一样(为什么快手关注的人自动取消关注了)

  • 手机充电可以充一晚吗(手机充电可以充电脑吗)

    手机充电可以充一晚吗(手机充电可以充电脑吗)

  • 滴滴单子少什么原因(滴滴单子很少)

    滴滴单子少什么原因(滴滴单子很少)

  • 向微信公众号发消息谁能看到(向微信公众号发消息能获取关注者什么信息)

    向微信公众号发消息谁能看到(向微信公众号发消息能获取关注者什么信息)

  • v1941A什么型号(v1911a是什么型号)

    v1941A什么型号(v1911a是什么型号)

  • 收款二维码怎么弄(收款二维码怎么打印)

    收款二维码怎么弄(收款二维码怎么打印)

  • 耳机充电仓一直是红灯(耳机充电仓一直闪黄灯)

    耳机充电仓一直是红灯(耳机充电仓一直闪黄灯)

  • oppo手机的录屏功能在哪里可以找到(oppo手机的录屏怎么关闭)

    oppo手机的录屏功能在哪里可以找到(oppo手机的录屏怎么关闭)

  • ipad能用鼠标吗(华为平板能用鼠标吗)

    ipad能用鼠标吗(华为平板能用鼠标吗)

  • word文档怎么插底纹(word文档怎么插图片)

    word文档怎么插底纹(word文档怎么插图片)

  • vivos1怎么充电快(vivo手机充电)

    vivos1怎么充电快(vivo手机充电)

  • 淘宝直播屏幕怎么挂字(淘宝直播屏幕怎么放大)

    淘宝直播屏幕怎么挂字(淘宝直播屏幕怎么放大)

  • 手机上hd怎么关闭(手机上hd什么意思)

    手机上hd怎么关闭(手机上hd什么意思)

  • word里怎么增加目录(Word里怎么增加空白页)

    word里怎么增加目录(Word里怎么增加空白页)

  • 红米手机屏幕上锁怎么解(红米手机屏幕上面有个方块)

    红米手机屏幕上锁怎么解(红米手机屏幕上面有个方块)

  • 探探划不到人怎么回事(探探划不到人是怎么回事)

    探探划不到人怎么回事(探探划不到人是怎么回事)

  • 苹果蓝牙怎么设置(苹果蓝牙怎么设置功能)

    苹果蓝牙怎么设置(苹果蓝牙怎么设置功能)

  • 手机色彩怎么才能恢复(手机色彩怎么才好看)

    手机色彩怎么才能恢复(手机色彩怎么才好看)

  • 苹果手机电话簿怎么复制到卡里面(苹果手机电话簿怎么看不到联系人了)

    苹果手机电话簿怎么复制到卡里面(苹果手机电话簿怎么看不到联系人了)

  • 苹果输入法换行键在哪(苹果输入法换行不见了)

    苹果输入法换行键在哪(苹果输入法换行不见了)

  • 微信运行日志可以删么(微信 运行日志)

    微信运行日志可以删么(微信 运行日志)

  • 从零开始学习JavaScript:轻松掌握编程语言的核心技能①(零基础java从入门到精通)

    从零开始学习JavaScript:轻松掌握编程语言的核心技能①(零基础java从入门到精通)

  • Java导出带格式的Excel数据到Word表格(java如何导出)

    Java导出带格式的Excel数据到Word表格(java如何导出)

  • 稳岗返还多久能到账
  • 小规模定额征收是怎样
  • 申报作废了还能修改吗
  • 会计核算是否健全 填错了有影响吗
  • 公司产品的打样费入什么会计科目
  • 一季度计提的所得税分录
  • 分公司与总公司承担责任的法律规定
  • 固定资产当月入账下月计提折旧
  • 工会经费自留比例
  • 主营业务成本如何算
  • 进口免税店的东西都是正品吗
  • 核定征收是每个月都要交税吗
  • 上海市购销合同印花税计税金额怎么算?
  • 营改增后转让土地使用权怎么计算增值税
  • 研发人员的社保可以加计扣除吗
  • 低于成本价销售的税务风险
  • 纳税调增调减项目有哪些各站多少比例
  • 发票有问题找谁
  • 发票分票怎么处理违章
  • 没有原始凭证可以审计吗
  • win10ie浏览器没有internet选项
  • 什么货物出口最多
  • 职工食堂的费用,会计上怎么做账?
  • windows history命令
  • uni app
  • php基础教程
  • 企业所得税税款
  • 深入解析windows第7版卷2
  • 金融商品转让业务包括
  • laravel框架关键技术解析
  • 前端是指什么工作
  • 报表中库存商品怎么填
  • 代收代付业务
  • 销售发票重复开库存商品如何处理?
  • 如何用织梦在本地搭建网站
  • 新合同旧合同的法律依据
  • 火车头造型
  • 租入的房屋转租是否交房产税
  • 公司报销招待费需要发票还需要菜单明细吗
  • 企业年金举例说明
  • 教育行业有主营业务吗
  • 外出经营税收缴纳
  • 进项税都有什么
  • 小规模纳税人应交增值税明细科目
  • sql2008数据库存放位置
  • 专项附加扣除批量上传怎么上传
  • 受托方代销商品会计分录
  • 员工工作服扣款
  • 开诊所会计应如何做账
  • 工程预付款是否含规费和税金
  • 纳税人仅能通过手动查找
  • 进口增值税与关税的关系
  • 应交增值税借贷方发生额表示
  • 年底暂估收入,年初怎么做
  • 账本结转下年怎么划线
  • 跨年度固定资产转为在建工程怎么计算
  • 营业利润率公式计算公式
  • 建立索引mysql
  • mysql 1290怎么解决
  • macbookpro双系统和虚拟机
  • 为什么ibooks无法使用
  • win8ui
  • mac u 盘启动
  • win7系统怎样
  • win10怎么用ios上网
  • win8开机自启动在哪里设置
  • windows 8怎么样
  • 怎么快速
  • Cocos2d唯一死敌的崛起,OGEngine来了
  • python生成密钥
  • shell脚本函数及传参
  • js传参是什么意思
  • python 字符
  • unity3d文件怎么查看和修改
  • python如何获取
  • js闭包的用处
  • 云南新农合网上怎么交
  • 税控盘离线开票时间超限是怎么回事
  • 12月份买的车10月打电话让我去保养
  • 如何落实保密制度规定措施
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设