每日思考(2019/12/11)

题目概览

  • HTML全局属性(global attribute)有哪些(包含H5)
  • 在页面上隐藏元素的方法有哪些?
  • 去除字符串中最后一个指定的字符

题目解答

HTML全局属性(global attribute)有哪些(包含H5)

属性 描述
accesskey 规定激活元素的快捷键。
class 规定元素的一个或多个类名(引用样式表中的类)。
contenteditable 规定元素内容是否可编辑。
contextmenu 规定元素的上下文菜单。上下文菜单在用户点击元素时显示。
data-* 用于存储页面或应用程序的私有定制数据。
dir 规定元素中内容的文本方向。
draggable 规定元素是否可拖动。
dropzone 规定在拖动被拖动数据时是否进行复制、移动或链接。
hidden 规定元素仍未或不再相关。
id 规定元素的唯一 id。
lang 规定元素内容的语言。
spellcheck 规定是否对元素进行拼写和语法检查。
style 规定元素的行内 CSS 样式。
tabindex 规定元素的 tab 键次序。
title 规定有关元素的额外信息。
translate 规定是否应该翻译元素内容。

在页面上隐藏元素的方法有哪些?

1. overflow

.hide{
     overflow:hidden; /* 用来隐藏元素溢出部分,占据空间,无法响应点击事件 */
}

2.opacity

.hide{
    opacity:0;/* 占据空间,可以点击 */
}
.hide_2{
    -webkit-filter:opacity(0);
    filter:opacity(0);/* webkit内核,占据空间,可以点击 */
}
/*opacity是用来设置元素透明度的,但当设置成0的时候也就相当于隐藏元素了。因此,元素依然存在原来的位置,占据空间也可响应事件,元素的行为就和它们不透明时一致*/

3.visibility

.hide{
    visibility:hidden; /* 占据空间,无法点击 */
}
/*如同 opacity 属性,被隐藏的元素依然会对我们的网页布局起作用。与 opacity 唯一不同的是它不会响应任何用户交互。此外,元素在读屏软件中也会被隐藏*/

4.display

.hide{
    display:none;/* 不占据空间,无法点击 */
}
/*经典的display隐藏元素,这个是彻底的隐藏了元素,不占据空间,也就不影响布局,当然也无法响应事件。*/

5.position

.hide{
    position:absolute;
    left:-99999px;
    top:-90999px;/* 不占据空间,无法点击 */
}
.hide-2{
    position:relative;
    left:-99999px;
    top:-90999px;/* 占据空间,无法点击 */
}
/*假设有一个元素你想要与它交互,但是你又不想让它影响你的网页布局,没有合适的属性可以处理这种情况(opacity 和 visibility 影响布局, display 不影响布局但又无法直接交互——译者注)。在这种情况下,你只能考虑将元素移出可视区域。这个办法既不会影响布局,有能让元素保持可以操作。下采用这种办法未尝不可*/

6.clip/clip-path

.hide{
    position:absolute;/*fixed*/
    clip:rect(top,right,bottom,left);/* 占据空间,无法点击 */
}
.hide_2 {
  clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);
}
/*隐藏元素的另一种方法是通过剪裁它们来实现。在以前,这可以通过 clip 属性来实现,但是这个属性被废弃了(现在浏览器依然支持),换成一个更好的属性叫做 clip-path,可以很容易的实现一些复杂的图形,但可惜的是依旧只能在chrome40+浏览器里使用.*/

7.z-index

.hide{
    position:absolute;
    z-index:-1000;/* 使其它元素遮盖该元素也算是一种隐藏,不占据空间,无法点击 */
}

8. transform

.hide{
    transform: scale(0,0)/* 占据空间,无法点击 */
}

9.margin

.hide{
    margin-left:-100%;/*占位*/
}

10.text-indent和font-size(仅对块内文本元素)

.hide{
    text-indent:-9999px;
}
.hide{
    font-size:0;
}

11.width和height

.hide{
    width:0;
    height:0;
}

去除字符串中最后一个指定的字符

//方式一:lastIndexOf
function delLast(str, delChar) {
    if (!str || typeof str !== 'string' || !delChar || typeof delChar !== 'string') return false;
    let arr = str.split('');
    let idx = arr.lastIndexOf(delChar);
    arr.splice(idx, 1);
    return arr.join('');
}
console.log(delLast('qwerttqy','q'))
//方式二:replace+正则匹配
function delLast(str,delChar) {
  if (!str || typeof str !== 'string' || !delChar || typeof delChar !== 'string') return false;
  let reg =new RegExp(`${delChar}(?=([^${delChar}]*)$)`)
  return str.replace(reg,'')
}
//方式三:for循环找出这个字符,再slice拼接
String.prototype.splitStringLastChar = function (s) {
    let len = this.length - 1;
    for (; len >= 0; len--) {
        if (this[len] === s) {
            return this.slice(0, len) + this.slice(len + 1, this.length)
        }
    }
    return this.toString();
}
console.log('dasdadafasfa'.splitStringLastChar('f'));

原文地址:https://www.cnblogs.com/EricZLin/p/12026534.html

时间: 2024-10-10 00:30:33

每日思考(2019/12/11)的相关文章

2019.12.11 java练习

class Demo01 { public static void main(String[] args) { //数组求最大值 int[] arr={1,2,3,4,5,6,7,8,9}; int max=arr[0]; for(int i=0;i<arr.length;i++){ if(arr[i]>max){ max=arr[i]; } } System.out.println("最大值为:"+max); } }   import java.util.Scanner;

2019.12.11

Cat /etc/passwd UID---用户标识号,它与用户名唯一对应.LINUX中超级用户root的UID为0如果您想让系统显示您的用户名,UID,组名,GID以及您所属的其他组的名称,可利用id命令.修改UID一般用 usermod -u. 查看  cat  /etc/shadow 新增加组 Groupadd +组名字 添加用户 Chfn 可以更改用户的finger 不允许远程登陆 Systemctl restar sshd.Service 该命令只适用 原文地址:https://www

2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  (‘ | ’ 为管道符,作用是把前面的的命令输出在输入给后面的命令 ) 由图所示 /etc/passwd/被:分为7个字段 其含义如下 第一个字段为用户名(图中为root),是代表用户账号的字符串. 第二个字段是该账号的口令,这里的"x"代表的是密码标志,而不是真正的密码,真正的密码是保存在

宋欣蓉.2019.12.11.linux

1.掌握pwd命令的功能:确定现在所在的工作日录 2.掌握cd命令的功能:切换当前目录 3.掌握"cd ..“命令:进入上一级目录 I 4.掌握"cd-''命令:切换到用户的家目录 5.掌握“cd''命令:同cd-,也可切换到用户的家目录 6.掌握"cd -"命令:切换到用户之前的工作目录 7.掌握"cd 目录名"命令:切换到指定的目录 ⑴ 掌握ls命令的功能:列出当前目录(默认为当前日录)或指定目录中的内容 ⑵掌握ls -a命令:列出目录下的所

一周极客分享2019年11月-第1周

一周极客分享2019年11月-第1周 本周极客分享周刊语录: 世界正在迅速电气化,轿车.卡车.摩托车.飞机都在变成电动设备.原因大致相同:运行更安静,维护需求减少,性能和效率更高,能源使用更加灵活. 职场人生 作为一名程序员,你真正了解CDN技术吗?真正的成熟,是明白世界上99%的事情,都不重要Java面试官:给Java面试者的八点建议2019最新BAT.TMD等等公司技术面试题及其答案 运维架构 用 Jenkins 构建 CI\/CD 流水线 | Linux 中国在 Linux 上用 stra

2014年11月12~11月14日,杨学明老师《软件测试管理》内训在北京某银行软件中心成功举办!

2014年11月12~11月14日,北京天气呈现少有的APEC蓝,著名研发管理专家杨学明老师为某银行提供了三天的内训服务,此次培训由两部分组成,第一部分是<软件测试管理高级实务>.第二部分是<软件测试需求分析和测试设计>,三天的培训非常紧张,包括老师讲解,案例演练,专题研讨,过程衔接非常紧密,课堂气氛也比较轻松,来自该银行核心系统和网银两个事业部的同事参加了此次培训,包括开发,需求,测试和维护人员等,课程结束后,举行了考试,大家对三天的学习进行回顾和总结,并准备把这两天学习到知识结

ubuntu 12.04 安装 codeblock 12.11

一: Ubuntu  14.04版已经发布了,但本人还是12.04版的,主要是笔记本是双系统,担心升级之后造成不必要的麻烦.所以还在用12.04.在Linux环境下的 C/C++ 开发IDE中,Codeblocks是一个很不错的工具.  现在最新版的是Codeblocks 13.12了.  但我在安装Codeblocks 14.12出错了.(两种安装方法:1. 下载Codeblocks 13.12 包,然后 在命令行安装   2.直接在Ubuntu软件中心安装.都失败了.参考http://qtl

12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期

12.10 Nginx访问日志 [[email protected] vhost]# vim test.com.conf除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加access_log /tmp/test.com.log martin;这里的combined_realip就是在nginx.conf中定义的日志格式名字 [[email protected] vhost]# /usr/local/nginx/sbin/nginx -tnginx: the co

6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)

课程名称:12.10?Nginx访问日志笔记内容: [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf定义日志格式combined_realip:日志格式名字,可以写任意,但是后面应用都要写这个log_format ys '$remote_addr $http_x_forwarded_for [$time_local]'' $host "$request_uri" $status'' "$http_refer