在css中输入px怎么自动换算成rem

html-css013

在css中输入px怎么自动换算成rem,第1张

多年的前端开发实践中经历了从最初的PC固定布局、手机端固定布局(两端留白)到响应式设计(媒体查询、百分比布局等),直到最终选择rem+Javascript的模式,但是在项目开发中需要将大量的样式由px转换为rem,单位之间的换算虽然不复杂,但是工作量却很大。

那么能不能有一种自动化的解决方案呢?通过搜索,找到了一种方案。读者可以直接在百度搜索引擎中搜索“用grunt写了一个px和rem互转的工具”,

点击图中用边框标示的部分,进入“用grunt写了一个px和rem互转的工具”页面,

在该文章的末尾还提供了一个在线转换工具,如下图所示,可以很方便地将px转换为rem,批量操作,几秒就能完成。

笔者将实际项目中的CSS代码拷贝进入转换,有几个参数要选择,进行转换效果如

这里的参数选择和你在项目中的设计图尺寸和根元素字体大小相关,至于border的处理是因为在安卓下使用rem单位的支持性特别差,你可能写2rem或者3rem都没用默认会变成1px,所以在使用border属性时很多时候不建议处理border。

Javascript控制根元素大小的代码读者可以将代码放在公共的Js文件中,确保每个HTML文件都引用到。

在线工具中还提供了自动生成媒体查询的功能,这在响应式设计中可以少些许多CSS代码,让前端开发事半功倍。这里不做介绍,读者根据实际情况决定是否使用该功能。

其实,读者也可以自己写一个javascript函数实现上述功能,不过,重复发明轮子也没有什么意义,除了上面的工具之外(javascript实现),还有Sass的方案。网络有相关的文章,读者可以去研读,不过,还是在线工具为最佳,当然也可以将该工具下载下来使用。

可以参照这个:

空间名称和简介区域

#header ——主体部分—空间头部的整个标题部分

#header div.lc ——主页左上角背景图片

#header div.rc—— 主页右上角背景图片

#header div.tit ——空间名称,即主标题,名字大小颜色

#header div.tit a.titlink ——空间名称链接,未被点击

#header div.tit a.titlink:visited——已被访问过的链接

#header div.desc ——空间简介,即副标题,位置大小颜色

-------------------------------------------------------------------------------

导航栏

#tabline ——菜单下方的横线,即分隔符,用来与空间名称分开

#tab ——导航菜单栏主体—页面上方“主页博客|相册……”栏背景图片

#tab a.on,#tab a.on:link,#tab a.on:visited—— 选中状态,即“导航栏链接”,大小颜色+背景

#tab span ——导航栏项与项之间的分割符“|”

#tab a:link ——TAB“博客|相册……”栏链接颜色,未被点击

#tab a:visited——“博客|相册……”已被访问过的链接

#tab2 ——(基本选项 | 模板设置 | 高级设置 | 访问统计) 这行的菜单主体属性

#tab2 span ——TAB选中状态

#tab2 a ——TAB未选中状态

#tab2 a:link

#tab2 a:visited ——已被访问过的链接

-------------------------------------------------------------------------------

内容区域

.stage ——页面正文所有部分(导航栏以下)

其它区域(即访问量等信息)

#comm_info 主体部分——“其它”中“已有 人次访问本空间”颜色、位置

#comm_info div.line ——“已有 人次访问本空间”下面粉红色分割线相关设置

#comm_info a——“其它”中“什么是RSS?”颜色

#comm_info a:hover——悬停效果

#comm_info.mod——区域标题

#m_comm_info.modbox——其它区域模块

#pvshow——访问量数字字体#m_comm_info div a——百度logo

--------------------------------------------------------------------------------

页码区域

#page ——主体 高度大小位置

#page span—— 当前页码(不可点击)

#page a.pc—— 上一页和下一页 未被点击

#page a.pc:visited—— 已被点击

#page a.pi ——页码(可点击)

#page a.pi:visited ——已被访问过的链接

--------------------------------------------------------------------------------

模块区域

.mod ——模块标题,上下间距

.modhandle{cursor:move}

.modth ——模块标题栏主体和正文之间的距离

.modhead ——模块标题区的位置

.modopt ——模块操作区(如写新文章),间距

.modtit ——模块标题区(如文章列表、个人档案)大小颜色

.modtitlink ——模块标题链接

.modact ——操作文字链接,“修改个人资料”链接,——右上角“编辑”等链接的相关大小颜色设置。

.modbox ——模块内容区主背景颜色等

a.modact:link——“修改个人资料”链接颜色

a.modactlink:visited ——已被访问过的链接

.modtl ——模块左上角远郊边沿图片背景,第一列,空列

.modtc—— 模块中上的背景图片背景,第二、三列,个人档案、修改个人资料

.modtr ——模块右上角背景图片背景,第四列,空列

.modbl ——模块左下角背景图片背景

.modbc—— 模块中下、最下端一条背景图片背景

.modbr ——模块右下角背景图片背景

--------------------------------------------------------------------------------

文章区域

#m_blog div.tit ——文章标题

#m_blog div.tit a ——文章标题链接,大小颜色,未被点击

#m_blog div.tit a:visited ——文章标题大小颜色已被访问过的链接

#m_blog div.date ——文章发表日期,文字大小颜色

#m_blog div.cnt—— 文章内容大小颜色

#m_blog div.more ——“阅读全文>>”

#m_blog div.more a ——“阅读全文>>”的大小颜色,未被点击

#m_blog div.more a:visited ——“阅读全文>>”的大小颜色已被访问过的链接

#m_blog div.opt ——文章操作区(如“编辑”等的颜色大小)

#m_blog div.opt a ——文章操作链接大小颜色

#m_blog div.opt a:visited ——“编辑 删除 评论(4) 浏览(21)”已被访问过的链接

#m_blog div.line ——分隔条的相关设置

#m_blog div.none ——无文章提示信息,隐形设置,不需要改变

--------------------------------------------------------------------------------

个人档案区域

#mod_profile.modtit——首页个人档案标题

#m_pro a ——个人档案中“查看详细信息”的颜色,未被点击

#m_pro a:hover——悬停效果

#m_pro a:visited ——个人档案中“查看详细信息”已被访问过的链接

#m_pro div.image ——个人档案中个人头像的显示位置,分为“中,左,右——center,left,right”

#m_pro div.act ——操作区——个人介绍和头像的间距

#m_pro div.user ——个人用户名的大小颜色

#m_pro div.desc ——个人简介的大小颜色

#m_pro div.line—— 分界线

#m_pro td

#m_pro .photo——照片的背景(此项以下不能预览

#m_pro .photo td——加为好友发送消息中间“|”

#m_pro .photo .image

#m_pro .photo .line——头像下划线

#m_pro .ref

#m_pro .ref .tit——从“用户名”到“圈子”

#m_pro .ref .cnt

#m_pro .basic td——用户名至查看该用户在百度的等

#m_pro .basic .tit

#m_pro .basic a:hover——男省份日期链接,鼠标悬浮在上的链接,未被点击

#m_pro .basic a.nlk:hover——“贴吧发言”“知道回答”

#m_pro .pline——中间分界线

#m_pro .pitem——字体 高度

#m_pro .pitem .tit——我曾就读过的学校等

#m_pro .pitem a:hover——鼠标悬浮在上的链接

--------------------------------------------------------------------------------

相册区域

#m_album div.image ——相册中照片的显示位置,分为“中,左,右——center,left,right”

#m_album div.page ——“上一页”>>“下一页”

#m_album div.page a ——“上一页”的“下一页”未被点击

#m_album div.page a:visited—— “上一页”的“下一页”已被访问过的链接

#m_album div.image——相册预览区域

#m_album a img——图片链接

#m_album a:hover img——图片悬停效果

#cbut——相册操作按钮

#cbut a img{border:0pxfilter:alpha(enabled=0)} ——按钮图片

--------------------------------------------------------------------------------

友情链接区域

#m_links div.item ——子项——友情链接中字体颜色大小

#m_links div.item a ——名称(链接)——友情链接中字体的大小颜色,未被点击

#m_links div.item a:visited ——友情链接中字体的大小颜色,已被点击

#m_links div.line ——分界线

--------------------------------------------------------------------------------

自定义模块1-4

#m_mylink1-4 div.item——“描述”的内容

#m_mylink1-4 div.item a——标题链接名称

#m_mylink1-4 div.item a:visited——标题链接名称已被访问过的链接

#m_mylink1-4 div.line——分割线

--------------------------------------------------------------------------------

文章分类区域

#m_artclg div.item ——子项——文章分类中各分类后面主题数及括号的大小颜色

#m_artclg div.item a ——分类名称(链接)——文章分类中各分类的大小颜色,未被点击

#m_artclg div.item a:visited ——文章分类中各分类已被访问过的链接

#m_artclg div.line ——分界线——文章分类中各分类之间的分隔符的相关设置

--------------------------------------------------------------------------------

最新评论区域

#m_comment div.item ——子项——最新评论中用户名的大小颜色,未被点击

#m_comment div.item a ——最新评论中用户名的大小颜色,未被点击

#m_comment div.item a:visited—— 最新评论中用户名的大小颜色,已被点击

#m_comment div.item a.cnt ——最新评论中评论文字的大小颜色,未被点击

#m_comment div.item a.cnt:visited ——最新评论中评论文字的大小颜色已被访问过的链接

#m_comment div.item a.cnt:hover ——最新评论中评论文字鼠标悬浮在上的链接

#m_comment div.line ——最新评论中各评论之间的分割线的相关设置

--------------------------------------------------------------------------------

相册列表

#m_albumlist——第一层相册区域背景

#m_albumlist div.none——无照片提示信息

#m_albumlist a img——小相册封面图

#m_albumlist a:hover img——鼠标悬停效果

#m_albumlist div.line——分界线

#m_albumlist div.tit——相册标题

#m_albumlist div.tit a

#m_albumlist div.tit a:hover——悬停效果

#m_albumlist span.count——照片数量

#m_albumlist a.act——操作区链接,如编辑、删除

#m_albumlist a.act:hover——鼠标悬停效果

#m_albumlist div.note——相册第二层图片区域

#m_albumlist div.desc——相册简介

#m_albumlist span.size——照片尺寸

#m_albumlist #page ——当前页码

#m_albumlist #page a——其他页码

#m_albumlist #page a:hover——鼠标悬停效果

#imagee a img——第三层图片区域

#m_albumlist div.phimg a img——图片

#m_albumlist div.phimg a:hover img——图片按钮悬停样式

#m_albumlist div.phinfo——图片信息

#m_albumlist div.phpage——操作按钮的区域

#m_albumlist div.phpage a img——操作按钮

#m_albumlist div.phpage a:hover img——操作按钮悬停样式

--------------------------------------------------------------------------------

好友列表

#m_friend div.filter

#m_friend div.catalog

#m_friend a img——好友头像

#m_friend a:hover img——悬停效果

#m_friend div.user

#m_friend div.user a ——好友名称(链接),未被点击

#m_friend div.user a:hover——悬停效果

#m_friend div.user a img——操作按钮图片

#m_friend div.user a:hover img——操作按钮图片

#m_friend div.user a:visited ——已被访问过的链接

#m_friend div.line ——分界线

--------------------------------------------------------------------------------

设置访问统计、模板设置

#m_setting a ——链接{color:#3399CC}

#m_setting a:hover——悬停效果

#m_setting a:visited ——颜色的设置,已被访问过的链接

#m_setting ——主体颜色的设置,已被点击

#m_setting img.sel ——模板预览图(选中状态){border:4px solid #FFDB7B}

#m_setting img.unsel ——模板预览图(未选中状态)

#m_setting span.tit ——模板标题名称

#m_setting span.usr ——作者名

#m_setting div.sel ——“当前模板”文字

#m_setting div.line ——分界线

--------------------------------------------------------------------------------

系统公告

#m_sysinfo a ——链接 颜色的设置,未被点击

#m_sysinfo a:visited ——颜色的设置,已被访问过的链接

#m_sysinfo ——主体 颜色大小

#m_sysinfo span.new ——最新 颜色大小

#m_sysinfo span.date ——发布时间颜色大小

--------------------------------------------------------------------------------

基本选项

#m_setbase ——主体颜色大小

#m_setbase td ——颜色大小

#m_setbase div.line—— 分界线

#spSpaceName——空间名称

#spSpaceDescri——空间简介

#spConfigDispNum——每页显示文章

#spConfigDispMod——文章显示

#spDateMod——时间格式

#btn_submit——保存选项按钮

--------------------------------------------------------------------------------

网友评论

#in_comment ——主体宽度

#in_comment div.tit ——标题颜色大小等设置

#in_comment div.user ——发表人名、序号、-线颜色大小等设置

#in_comment div.user a ——发表人名(链接)未被点击的颜色大小

#in_comment div.user a:visited ——已被访问过的链接

#in_comment div.user span.date—— 发表时间颜色大小

#in_comment div.desc ——评论内容颜色大小

#in_comment div.line ——分隔符的设置

#in_send div.tit ——发表评论(标题)的设置

--------------------------------------------------------------------------------

文章存档

#m_filed div.item ——主题的颜色大小设置

#m_filed div.item a ——未被点击的颜色大小设置

#m_filed div.item a:visited ——已被访问过的链接

#m_filed div.line ——分界线

--------------------------------------------------------------------------------

最近访客

#m_track a ——访客ID字体颜色大小

#m_track a:hover—— 鼠标悬浮在ID上的链接

#m_track a img ——访客头像的滤镜效果,其他滤镜效果 {filter:invert} , {filter:xray }

#m_track a:hover img ——鼠标在访客头像上的悬停效果

--------------------------------------------------------------------------------

百度搜索

#m_search——百度搜索区域

#m_search input.text ——“互联网”等字体设置

#m_search input.radio ——“互联网”等底色设置

#m_search input.submit ——“百度搜索”设置

#mod_search.mod{background:url() no-repeat 0% 0%} ——百度搜索标题

#m_search input.text——输入框

#m_search label——选框区域

#m_search input.radio——选框前的圆圈

#m_search input.submit——提交按钮

--------------------------------------------------------------------------------

留言板

#mod_board.mod——留言板模块

#mod_board table.modth——以下6项如不设定则继承通用模块的样式

#mod_board td.modtl

#mod_board div.modhead

#mod_board span.modtit

#mod_board td.modtc

#mod_board td.modtr

input.#spBCmtAuthor——留言姓名输入框

input.#spBCmtURL——留言网址输入框

#spBCmtText——留言输入框

#vercode input——验证码输入框

#in_send td.f14 input——留言按钮

#in_msg div——留言区

#in_msg a——留言区链接

#in_msg a:hover——悬停效果

#in_msg div.tit——网友留言标题

#in_msg table.item——网友留言标题

#in_msg td.index——留言序号

#in_msg div.user——留言用户

#in_msg div.user a img——用户头像

#in_msg div.user a:hover img——悬停效果

#in_msg td.cnt——留言时间

#in_msg div.desc——留言内容

#in_msg div.line——分界线

--------------------------------------------------------------------------------

我的搜藏

#m_cang div.item——主体的颜色大小设置

#m_cang div.item a——未被点击的颜色大小设置

#m_cang div.item a:hover——悬停效果

#m_cang div.item a:visited——已被访问过的链接

#m_cang div.line——分界线

--------------------------------------------------------------------------------

柱状图

.stat td{line-height:22pxcolor:#333333font-size:14px}/*累计访问量等字体*/

.chart{position:relativemargin:10px 0 30px 31pxborder:1px solid #B3B3DC}/*柱状图上\左边线*/

.chart div.bar,.chart div.barhl{position:absolutebackground:#DCDCF4border:1px solid #B3B3DCline-height:0}/*线柱颜色\底边颜色*/

.chart div.barhl{background:#C2C2F4}/*线柱悬停效果*/

.chart div.liney{position:absoluteborder-top:1px dotted #B9B9B9line-height:0}/*分隔线*/

.chart div.titx,.chart div.titxhl,.chart div.tity{position:absolutecolor:#666font-size:9pxfont-family:Arialtext-align:centerwhite-space:nowrap}/*坐标数字*/

.chart div.titxhl{color:#FF0000}/*月份起始字体颜色*/

.chart div.hit{position:absolutez-index:1000width:100pxcolor:#666font-size:12pxfont-family:Arial}/*线柱悬停访问统计数字效果*/

.chart div.tity{text-align:right}

.stattop{float:leftmargin-top:20pxmargin-right:14pxpadding:10pxwidth:199px!importantwidth:220pxborder:1px solid #CDCDCD}/*以下为分析设置*/

.stattop{float:leftmargin-top:20pxmargin-right:14pxpadding:10pxwidth:199px!importantwidth:220pxborder:1px solid #CDCDCD}

.stattop .list{margin-top:6px}

.stattop .list td{height:20px}

--------------------------------------------------------------------------------

日历

#mod_cals .modbox——日历模块

#cals——日历主体背景、边框

#mod_cals .modbox td ——字体颜色设置

#m_cals——设置模块背景颜色

#m_cals div——背景设置

#cals .cal_body,#cals .cal_mth——除年月控制器外的日期部分,包括周和一般日期

#cals .cal_yr table——年、月表格

#cals .cal_yr td——*年、月单元格

#cals .cal_yr .cal_pre——上一月箭头(正常)

#cals .cal_yr .cal_nxt——下一月箭头(正常)

#cals .cal_yr .cal_pre_ovr——上一月箭头(鼠标悬停)

#cals .cal_yr .cal_nxt_ovr——下一月箭头(鼠标悬停)

方法主要有三种转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。一些示例如下:复制代码 代码如下:parseInt(“1234blue”)//returns 1234parseInt(“0xA”)//returns 10parseInt(“22.5”)//returns 22parseInt(“blue”)//returns NaNparseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:复制代码代码如下:parseInt(“AF”, 16)//returns 175parseInt(“10”, 2)//returns 2parseInt(“10”, 8)//returns 8parseInt(“10”, 10)//returns 10