X''*_*X'' 29 css google-chrome contenteditable
我有一个使用contenteditable div的webapp.我喜欢它们在Chrome中的显示方式:当我对焦时,Chrome会在div周围显示出漂亮的蓝色光芒.但是在Firefox中,我得到了一个丑陋的虚线轮廓.到目前为止我观察到的是,一旦我更改了div:focus的轮廓,Chrome就会停止显示其默认的蓝框.我想让我的应用程序一直很好看,所以我的问题是
我该如何复制Chrome的默认样式div[contenteditable="true"]:focus?
Oli*_*lme 46
要回答这个问题,Webkit浏览器会使用outline: 5px auto -webkit-focus-ring-color;.在Mac上-webkit-focus-ring-color是蓝色rgb(94, 158, 214)(或#5E9ED6),但在Windows和Linux上它是黄金rgb(229, 151, 0)(或#E59700)(参考).
虽然我理解您对一致性的渴望,但用户通常只使用一个浏览器,并习惯于浏览器的默认样式.请注意,除非您计划更改每个实例,否则:focus最终会出现与键盘用户不一致的情况.优点和缺点呃!
如果您定义outline样式并希望"恢复"回默认的用户代理样式:focus,这将有所帮助
.myClass:focus {
outline: 1px dotted #212121;
outline: 5px auto -webkit-focus-ring-color;
}Run Code Online (Sandbox Code Playgroud)
所述-webkit-prefix色装置FF,IE和边缘将忽略所述第二规则,并使用第一.Chrome,Safari和Opera将使用第二条规则.
HTH!
这个小提琴提供了一个很好的近似值,不过您可能需要进行调整以更接近于自己所想要的。
的HTML
<div contenteditable='true'>Edit Me</div>
Run Code Online (Sandbox Code Playgroud)
的CSS
div[contenteditable=true] {
width:200px;
border:2px solid #dadada;
border-radius:7px;
font-size:20px;
padding:5px;
margin:10px;
}
div[contenteditable=true]:focus {
outline:none;
border-color:#9ecaed;
box-shadow:0 0 10px #9ecaed;
}
Run Code Online (Sandbox Code Playgroud)
我想我已经找到了完美的,至少对我来说:
// BegginRun Code Online (Sandbox Code Playgroud)
button {
outline: 5px auto rgba(0, 150, 255, 1);
-webkit-outline: 5px auto rgba(0, 150, 255, 1);
-moz-outline: 5px auto rgba(0, 150, 255, 1);
-ms-outline: 5px auto rgba(0, 150, 255, 1);
-o-outline: 5px auto rgba(0, 150, 255, 1);
/* Use a border to apply the outline */
border: 1px solid rgba(0, 0, 0, 0);
/* Unimortant styling: */
background: linear-gradient(to bottom, #fff 30%, #fcfcfc 40%, #f8f8f8 50%, #f0f0f0 100%);
}Run Code Online (Sandbox Code Playgroud)
<button type="button"">Outline</button>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27728 次 |
| 最近记录: |