中文或英文两端对齐的实现实例页面
回到相关文章 »代码:
CSS代码:
.test_box { width: 300px; padding: 10px; background-color: #e0e0e0; font-family: 'microsoft yahei'; font-size: 14px; }
HTML代码:
<div id="testBox" class="test_box"> 为了最大化组件的品质,组件的实现要讲求分工...主次。 </div> <p><button id="testBtn">对齐变身</button></p>
JS代码:
var btn = document.getElementById("testBtn"), box = document.getElementById("testBox"); if (btn && box) { btn.onclick = function() { box.style.textAlign = "justify"; box.style.letterSpacing = '-.15em'; box.innerHTML = box.innerHTML.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '').split("").join(" ").replace(/\s{3}/g, " "); }; }
效果:
hello word; 为了最大化组件的品质,组件的实现要讲求分工;
要想分工,需要将组件UI层东西从JS剥离出来,发挥CSS/HTML工程师的在UI处理上造诣;
想要剥离,就要求组件半封装,避开大而全的API;
所谓半封装是功能封装,UI不封装;但对于某一具体项目,组件还是完全封装的;
避开API的方法包括交给原生的HTML属性API, 以及根据项目UI场景设计API,告别无意义的生僻场景API的使用。
发挥CSS的潜力,尽量避免使用JS做一些自己为是的功能;
UI组件的本质是HTML和CSS, JS只是辅助,千万不要乱了主次。