实现pc端信纸留言板
效果如图:
我好像在哪里见过这样的形式,但却从来没有想过怎么实现,有种莫名的兴奋感。怎么控制什么时候换行,怎么控制中间的线条,这些视乎都是CSS无法实现的,我陷入了死局。寻找JS的做法,JS的挺复杂的,大致思路:模拟一个延时模拟一个光标闪动,然后监听客户输入文字数量,通过计算控制换行。难点:中英文的字符长度不一致,你永远不知道客户会输入什么。不足:无论是延时还是计算都太消耗浏览器内存。
以下是我对CSS个人理解:我觉得无论是交互还是布局都应该由CSS来实现,js最多承担开启这些交互的开关。因此这里我决定用CSS解决。只要用文本域就可以轻松解决换行问题,接下来就只需处理行高和线条的问题了。
html:
css:
思路:
通过设置文本域的行高来控制行高,然后用div做三条线,设置高度与文本域行高度减去1px边框,然后通过maxlength控制输入总字数,然后用letter-spacing控制字符中间的间距填充。
要注意的地方:
我们既可以点文本域,又要看到定位在文本域上div的线,所以我们要把文本域的层级设的比div的线高,然后把文本域的背景设为透明色,这样既可看到线的同时也可以点到文本域。
优势:
减少代码的复杂度,性能更加优化,弥补Js所有的不足。
不足:
通用性不够好,移动端存在光标过长的问题。
后续:
关于移动端文本域行高影响到光标长度问题还没有得到解决,css就是这么神奇,有些东西的出现是没有根据可行的,只有不断积累,不断成长,路漫漫其修远兮 吾将上下而求索。
实现pc端信纸留言板的更多相关文章
- H5 canvas pc 端米字格 写字板
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- phpcms的评论改为留言板研究
研究背景: phpcms里面默认是没有留言板的,之前我的博客里发过一个二次开发简介,里面有一个简单的留言板,包含前台提供表单,后台留言审核等功能,但是不提供用户登录等操作. 研究思路: phpcms里 ...
- 【weiphp微信开发教程】留言板插件开发详解
基于weiphp框架的留言板插件教程: 1.功能分析 传统的留言板应该具有发布留言.查看留言.回复留言.管理留言等功能,本教程开发的是最基本的留言板,仅包含发布留言和查看留言两个功能,根据功能用boo ...
- Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql
在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...
- PC 端微信扫码注册和登录
一.前言 先声明一下,本文所注重点为实现思路,代码及数据库设计主要为了展现思路,如果对代码效率有着苛刻要求的项目切勿照搬. 相信做过微信开发的人授权这块都没少做过,但是一般来说我们更多的是为移动端的网 ...
- 开源社群系统ThinkSNS+PC端最新播报!
亲爱的粉丝,授权客户,企业创业者们,这一次,我们将为你们打造最好用的社交软件系统. 在这里你将看到TSer们本周研发.优化.设计的动态即时播报,可评论留言提出您的问题及建议与我们互动. 同时,研发已经 ...
- J2EE进阶(十八)基于留言板分析SSH工作流程
J2EE进阶(十八)基于留言板分析SSH工作流程 留言板采用SSH(Struts1.2 + Spring3.0 + Hibernate3.0)架构. 工作流程(以用户登录为例): 首先是用 ...
- 山西大同大学教务处教师端——可在PC端,手机端操作
解决问题:大同大学教务处官网教师端口一进去就卡住了,点上面一行的菜单无响应 下载方法(学生端 / 教师端 / 验证脚本): 链接:https://pan.baidu.com/s/1MWrJXoPzE ...
- 山西大同大学教务处学生端--送给学弟,学妹的礼物,可在PC端,手机端操作
解决问题:大同大学教务处官网学生端口一进去就卡住了,点上面一行的菜单无响应 转眼已是四年,想想自己大学即将结束,不由得让人感慨啊.这才刚开学几天,我就听到有同学在因为补考,选课的事情发愁.学校官方的教 ...
随机推荐
- cocos2d-x 游戏开发之有限状态机(FSM) (三)
cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monk ...
- Mybatis #和$
在mybatis的mapper文件中,对于传递的参数我们一般是使用#和$来获取参数值. 当使用#时变量是占位符,就是一般我们使用java jdbc的PrepareStatement时的占位符?,所有可 ...
- ZooKeeper的快速搭建
本文是ZooKeeper的快速搭建,旨在帮助大家以最快的速度完成一个ZK集群的搭建,以便开展其它工作.本方不包含多余说明及任何调优方面的高级配置.如果要进行更深一层次的配置,请移步<ZooKee ...
- JNI技术简介-android学习之旅(92)
分为5步 !!!注意本地方法是java中的方法,本地函数指的是c语言中的对应函数 1.在java类中声明本地方法 2.使用javah命令,生成包含jni本地函数原型的头文件 3. 实现jni本地函数 ...
- 8 个实用的 Bootstrap 3 案例教程
Bootstrap 3发布各大设计论坛议论纷纷.这次Bootstrap 3最大的特点就是--扁平化.下面就是一些早期的Bootstrap 3例子,不过亲们注意咯,因为大部分最早期的测试案例,可能用到一 ...
- ubuntu14.04下安装rubinius测试原生线程
因为CRuby(MRI)本身不支持原生多线程,所以想试一下其他ruby解释器实现对原生多线程的支持.于是安装rubinius折腾一下:) 在rubinius官网下载2.4.1源代码,然后驾轻就熟首先b ...
- 访问PHP文件时出现An error occurred.
服务器配置ubuntu16,nginx,php5.6-fpm 我的问题是用户组没有权限导致出现访问PHP文件时An error occurred.,访问Html页面正常. 查看Nginx日志报错(路径 ...
- 面向对象(this的问题二)
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...
- PLSQL 创建自定义函数注意事项
2017-6-8周四,今天遇到的需求是,从数据库中查找出某张表的某些数据,并将这些数据做简单的加减运算再得到结果集,没有思路,后来问辉哥,给我的建议是给这些运算封装成一个SQL函数,select选择字 ...
- 03_Linux FTP
linux搭建ftp server,在windows向上传 http://www.2cto.com/os/201204/126898.html yum install vsftp.rpm 安装v ...