用HTML+CSS做一个实时预览的markdown编辑器

这次给大家带来用html+css做一个实时预览的markdown编辑器,用html+css做一个实时预览的markdown编辑器的注意事项有哪些,下面就是实战案例,一起来看一下。

第一步 搭建布局:

1.构思布局(以下是总体布局)

1.png

2.项目下新建个index.html页面,写入以下代码:

立即学习“前端免费学习笔记(深入)”;

markdown编辑器* {margin: 0;padding: 0;outline: none;border-radius: 0;}html,body {width: 100%;height: 100%;font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;background-color: #ebebeb;}#toolbar {height: 50px;background-color: #444;width: 100%;color: #fff;line-height: 50px;}#container {overflow: auto;position: absolute;bottom: 0;left: 0;right: 0;top: 50px;}#editor-column,#preview-column {width: 49.5%;height: 100%;overflow: auto;position: relative;background-color: #fff;}.pull-left {float: left;}.pull-right {float: right;}

第二步 引入资源实现初步效果:

1.项目下创建js文件夹

2.解从下载好的压缩包解marked/lib下的marked.js到js文件夹

3.解从下载好的压缩包解ace-builds/src到js文件夹重命名为ace

4.引入js文件

(注:markdown.css是markdown样式文件,可以自行编写或从网上下载 比如:github-markdown-css)

 markdown编辑器                                 

5初始化插件

(先添加编辑区和显示区代码)

#mdeditor#preview,#panel-editor,#panel-preview{height: 100%;width: 100%;}

(先添加初始化代码)

 var acen_edit = ace.edit('mdeditor'); acen_edit.setTheme('ace/theme/chrome');acen_edit.getSession().setMode('ace/mode/markdown');acen_edit.renderer.setShowPrintMargin(false);$("#mdeditor").keyup(function() {$("#preview").html(marked(acen_edit.getValue()));});

第三步 添加工具到工具栏示例:

1.编写公用方法

(其实点击工具主要是在编辑器里自动插入本来手打的符号)

function insertText(val){acen_edit.insert(val);//光标位置插入}
.....

第四步 ace.js API 实现编辑器设置功能:

..... 设置: Chrome Clouds Crimson Editor Dawn Dreamweaver Eclipse GitHub IPlastic Solarized Light TextMate Tomorrow XCode Kuroir KatzenMilch SQL Server Ambiance Chaos Clouds Midnight Cobalt Gruvbox idle Fingers krTheme Merbivore Merbivore Soft Mono Industrial Monokai Pastel on dark Solarized Dark Terminal Tomorrow Night Tomorrow Night Blue Tomorrow Night Bright Tomorrow Night 80s Twilight Vibrant Ink 字体大小 10px 11px 12px 13px 14px 16px 18px 20px 24px 代码折行 manual mark begin mark begin and end 自动换行 Off 40 Chars 80 Chars Free 全选样式 光标行高光 显示行号 打印边距
......            $("#theme").change(function() {acen_edit.setTheme($(this).val());})$("#fontsize").change(function() {acen_edit.setFontSize($(this).val());}) $("#folding").change(function() {session.setFoldStyle($(this).val());})$("#select_style").change(function() {acen_edit.setOption("selectionStyle", this.checked ? "line" : "text");})$("#highlight_active").change(function() {acen_edit.setHighlightActiveLine(this.checked);})$("#soft_wrap").change(function() {acen_edit.setOption("wrap", $(this).val());})$("#show_print_margin").change(function() {acen_edit.renderer.setShowPrintMargin(this.checked);})

2.gif

相信看了本文案例你已经掌握了方法,更多精彩请关注创想鸟其它相关文章!

相关阅读:

js正则表达式的10个应用实例

Vue.js的2.0后台系统实战案例

以上就是用HTML+CSS做一个实时预览的markdown编辑器的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1545890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 17:36:11
下一篇 2025年12月11日 16:02:49

相关推荐

  • CSS布局之盒子模型属性

    这次给大家带来CSS布局之盒子模型属性,CSS布局的盒子模型属性的注意事项有哪些,下面就是实战案例,一起来看一下。 宽高width/height   在css中,可以对任何块级元素设置显式高度。   如果指定高度大于显示内容所需高度,多余的高度会产生一个视觉效果,就好像有额外的内边距一样;   如果…

    好文分享 2025年12月21日
    000
  • 怎样在CSS中解决长英文单词的页面显示问题?

    简言 在页面排版中,经常遇到长英文单词溢出段落容器的情况,如何解决该问题?现编制如下对比演示程序: 演示程序 42du.cn-在线演示程序 部分html代码 word-break:break-all; Extraordinarily longlong word!CSS代码 .break-all { …

    好文分享 2025年12月21日
    000
  • CSS预处理器之Less详解

    CSS 预处理器 为什么要有 CSS 预处理器 css基本上是设计师的工具,不是程序员的工具。在程序员的眼里,css是很头痛的事情,它并不像其它程序语言,比如说php、javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难以组织…

    好文分享 2025年12月21日
    000
  • CSS基础语法之CSS的3种引入

    这次给大家带来css基础语法之css的3种引入,css基础语法的css3种引入的注意事项有哪些,下面就是实战案例,一起来看一下。 CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layo…

    好文分享 2025年12月21日
    000
  • HTML和CSS重点难点问题

    本文主要和大家分享HTML和CSS重点难点问题,希望能帮助到大家。 1.怎么让一个不定宽高的 p,垂直水平居中? 使用flex 只需要在父盒子设置:display: flex; justify-content: center;align-items: center; 使用 CSS3 transfor…

    好文分享 2025年12月21日
    000
  • HTML和CSS重难点知识点总结

    本文主要和大家分享html和css重难点知识点总结,希望能帮助到大家。 怎么让一个不定宽高的 p,垂直水平居中? 使用 Flex 只需要在父盒子设置:display: flex; justify-content: center;align-items: center; 使用 CSS3 transfo…

    好文分享 2025年12月21日
    000
  • css实现聚光灯效果的代码分享

    简介 CSS Variables,一个并不是那么新的东西,但对css来说绝对是一场革命。 之前使用变量的时候,需要借助sass、less等预处理工具来实现,现在我们可以直接使用css来声明变量。 兼容性 老规矩,先来看下兼容性 立即学习“前端免费学习笔记(深入)”; 兼容性一片绿,红的那不是还有两个…

    2025年12月21日 好文分享
    000
  • vue的css动画

    这次给大家带来vue的css动画,使用vue的css动画注意事项有哪些,下面就是实战案例,一起来看一下。 .toggle-cart-enter-active, .toggle-cart-leave-active {transition: all .3s ease-out;}.toggle-cart-…

    好文分享 2025年12月21日
    000
  • 关于CSS里的块级格式

    1.BFC 定义 bfc(block formatting context)直译为”块级格式化上下文”。它是一个独立的渲染区域,只有block-level box(块级元素)参与, 它规定了内部的block-level box如何布局,并且与这个区域外部毫不相干. 通俗地来说…

    好文分享 2025年12月21日
    000
  • CSS的伪类选择器

    这次给大家带来css的伪类选择器,css伪类选择器的注意事项有哪些,下面就是实战案例,一起来看一下。 a.random:hover{color:#64FFDA;font-size:120%;} //选择的是class=”random”的标签。 a#search:active{font-size:80…

    2025年12月21日
    000
  • 为什么把css文件放在头部

    我们知道,在html文件中,我们一般都是把css放在头部,把js放在尾部,这是为什么呢?今天给大家好好分析一下这样做的原因。 这样会先加载css的样式,在渲染dom的时候已经知道了自己的样式了,所以一次渲染成功 如果css放在底部,那么需要先渲染dom,然后加载css后会重新渲染之前dom,需要两次…

    好文分享 2025年12月21日
    000
  • style对象的cssText方法有哪些使用方法

    这次给大家带来style对象的csstext方法有哪些使用方法,style对象的csstext方法使用的注意事项有哪些,下面就是实战案例,一起来看一下。 cssText 本质是什么?   cssText 的本质就是设置 HTML 元素的 style 属性值。 cssText 怎么用? domElem…

    好文分享 2025年12月21日
    000
  • html+css+jquery做选项卡

    这次给大家带来html+css+jquery做选项卡,html+css+jquery做选项卡的注意事项有哪些,下面就是实战案例,一起来看一下。 列表选项卡 body{ margin:0px; padding:0px; } #main{ width:310px; border:1px solid #C…

    好文分享 2025年12月21日
    000
  • html+css+javascript如何实现列表循环滚动

    这次给大家带来html+css+javascript如何实现列表循环滚动,html+css+javascript实现列表循环滚动的注意事项有哪些,下面就是实战案例,一起来看一下。 说明:设置时间定时,在规定的时间内替换前一个节点的内容 1、关键代码:javascript: var dome=docu…

    好文分享 2025年12月21日
    000
  • 怎样操作meta标签中的viewport来控制设备屏幕的css属性

    这次给大家带来怎样操作meta标签中的viewport来控制设备屏幕的css属性,利用meta标签中的viewport来控制设备屏幕的css属性的注意事项有哪些,下面就是实战案例,一起来看一下。 width-viewport的宽度 height-viewport的高度 initial-scale 初…

    好文分享 2025年12月21日
    000
  • 怎样实现meta标签中的viewport来控制设备屏幕的css属性

    这次给大家带来怎样操作meta标签中的viewport来控制设备屏幕的css属性,利用meta标签中的viewport来控制设备屏幕的css属性的注意事项有哪些,下面就是实战案例,一起来看一下。 width-viewport的宽度 height-viewport的高度 initial-scale 初…

    好文分享 2025年12月21日
    000
  • 如何使用CSS对TD中INPUT的宽度设置

    这次给大家带来如何使用css对td中input的宽度设置,使用css对td中input的宽度设置的注意事项有哪些,下面就是实战案例,一起来看一下。 给某个option 添加 selected = “selected” 属性就是默认选项 全部 通过 未通过 则“通过”为默认选中…

    好文分享 2025年12月21日
    000
  • 怎样编写灵活、稳定、高质量的HTML和css代码

    这次给大家带来怎样编写灵活、稳定、高质量的html和css代码,编写灵活、稳定、高质量的html和css代码的注意事项有哪些,下面就是实战案例,一起来看一下。 黄金定律永远遵循同一套编码规范,不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. 一、语法:1.用两个空格来代替制表…

    好文分享 2025年12月21日
    000
  • 怎样用HTML和CSS做出大白

    这次给大家带来怎样用html和css做出大白,用html和css做出大白的注意事项有哪些,下面就是实战案例,一起来看一下。 PS:您最好对 HTML 和 CSS 有一定的了解,但如果你是小白也没关系,小白见「大白」也是可以的! 一、准备工作 进入到 /home/shiyanlou/ 目录下,新建空白…

    好文分享 2025年12月21日
    000
  • Html+css怎样实现纯文字和带图标的按钮

    这次给大家带来html+css怎样实现纯文字和带图标的按钮,html+css实现纯文字和带图标的按钮的注意事项有哪些,下面就是实战案例,一起来看一下。 本文总结一下一些基础页面元素的实现方式,后续陆续更新。首先我们遇到最多的可能是按钮的切图,按钮可能有很多种外观,但是一般可分为纯文字的和带图标的按钮…

    好文分享 2025年12月21日
    000

发表回复

登录后才能评论
关注微信