Sam*_*Sam 20 javascript css underline css3
有时你不希望下划线盲目地切入带下划线的页面标题!
有没有办法自动优雅地禁用某些小写字符的下划线?
在这些情况下,更好的是不要强调这些小写字母{g,q,p,j, y}

CSS:
h1{ text-decoration: underline; }
PAGE TITLE:
George quietely jumped!
A)有没有办法可以达到如此精致和先进的造型规则?
B)我们想要强调哪些其他拉丁字符?
C)如何设置下划线的厚度/薄度?
G-C*_*Cyr 26
你也可以用边框底部伪造下划线.这可以适用于单行,如果显示属性允许元素缩小内容.(只是避免阻止).
这里有一个display:table允许中心文本和前后断行的例子:http://codepen.io/gc-nomade/pen/vJoKB/
这是什么意思?
stroke,在CSS中,我们可以做类似的增加text-shadow与背景颜色相同的东西.
在旧的浏览器,你就失去了box-shadow选择,但你仍然可以使用double,groove或ridge border用不同的颜色,文本样式.
感谢@PatNewell分享这个链接:https://medium.com/designing-medium/7c03a9274f9
web*_*iki 14
此解决方案用于jQuery自动将字母包装在<span>标签中的下划线.
作为父母与text-decoration:underline"覆盖"孩子text-decoration:none;(见这里).该技术是用a包裹目标字母(下划线的字母)<span class="underline">并应用于text-decoration:underline;该类.
输出:

不会加下划线的标志:
g j p q y Q @ { _ ( ) [ | ] } ; , § µ ç /
Run Code Online (Sandbox Code Playgroud)
HTML:
<h1 class="title">George quietely jumped!</h1>
Run Code Online (Sandbox Code Playgroud)
CSS:
.underline {
text-decoration:underline;
}
Run Code Online (Sandbox Code Playgroud)
jQuery:
$('.title').each(function () {
var s = '<span class="underline">',
decoded;
$(this).prop('innerHTML', function (_, html) {
s += html.replace(/&/g, '&').replace(/(g|j|p|q|y|Q|@|{|_|\(|\)|\[|\||\]|}|;|,|§|µ|ç|\/)/g, '</span>$1<span class="underline">');
s += '</span>'
$(this).html(s);
});
});
Run Code Online (Sandbox Code Playgroud)
文本装饰模块3级介绍 text-decoration-skip
此属性指定元素内容的哪些部分必须跳过影响元素的任何文本修饰.
您可以通过将其设置为ink以下来实现所需的行为:
跳过绘制字形的位置:中断装饰线以使文本的形状显示文本装饰否则将跨越字形的位置.UA必须跳过字形轮廓两侧的一小段距离.
h1 {
text-decoration: underline;
text-decoration-skip: ink;
}Run Code Online (Sandbox Code Playgroud)
<h1>George quietely jumped!</h1>Run Code Online (Sandbox Code Playgroud)
请注意主流浏览器尚不支持它.
这将是一个痛苦的屁股,但我会做一个“下划线”类,然后进去手动做
超文本标记语言
<h1><span class="underline">Ver</span>g<span class="underline">eten Kanalen</span></h1>
Run Code Online (Sandbox Code Playgroud)
CSS
.underline{text-decoration:underline;}
Run Code Online (Sandbox Code Playgroud)