标签元素的内置padding

ol/ul 列表 

有序列表/无序列表

  1. ol/li元素内置padding-left,但是单位是px不是em;
  2. 例如Chrome浏览器下是40px;
  3. 所以如果字号很小,间距就会很开;
  4. 所以如果字号很大,间距会爬到容器外面。
结论:
  • 所有浏览器input/textarea输入框内置padding
  • 所有浏览器button按钮内置padding
  • 部分浏览器select下拉内置padding,如FireFox IE8+可以设置padding
  • 所有浏览器radio/checkbox单复选框无内置padding
  • button按钮元素的padding最难控制!
FireFox浏览器
设置padding:0 左右依然有padding!
button::-moz-focus-inner { padding:0 }

IE浏览器
IE文字越多,左右padding逐渐变大!
button{ overflow: visible }

button表单按钮padding
padding与高度计算不兼容
button{
 line-height: 20px;
 padding: 10px;
border: none;
}
IE7:       45px;   ?
IE8+:     40px   
FireFox:42px    ?
Chrome:40px

建议
<button id="btn"></button>
<label for="btn">按钮</lable>

lable{
  display: inline-block;
  line-height: 20px;
  padding: 10px;
}

IE7:       40px;   
IE8+:     40px   
FireFox:40px    
Chrome:40px



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 HTML/CSS/JavaScript 示例,实现了两个垂直的滑块,点击标签时可以隐藏或者显示滑块。你可以在浏览器中打开它,查看效果。 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>滑块示例</title> <style> .container { display: flex; flex-direction: row; height: 100vh; } .slider-container { display: flex; flex-direction: column; flex: 1; background-color: #EEE; overflow-y: auto; padding: 10px; } .slider-header { display: flex; justify-content: space-between; align-items: center; background-color: #CCC; padding: 10px; cursor: pointer; } .slider-header:hover { background-color: #AAA; } .slider-content { display: flex; flex-direction: column; align-items: center; background-color: #FFF; padding: 10px; transition: all 0.3s ease-out; } .slider-content.hidden { height: 0; opacity: 0; padding-top: 0; padding-bottom: 0; } .slider-content.visible { height: auto; opacity: 1; padding-top: 10px; padding-bottom: 10px; } </style> </head> <body> <div class="container"> <div class="slider-container"> <div class="slider-header" onclick="toggleSlider(1)"> <h2>标签1</h2> <span>+</span> </div> <div class="slider-content" id="slider1"> <p>滑块1的内容。</p> </div> <div class="slider-header" onclick="toggleSlider(2)"> <h2>标签2</h2> <span>+</span> </div> <div class="slider-content" id="slider2"> <p>滑块2的内容。</p> </div> </div> </div> <script> function toggleSlider(sliderId) { var slider = document.getElementById("slider" + sliderId); var header = slider.previousElementSibling; if (slider.classList.contains("hidden")) { slider.classList.remove("hidden"); slider.classList.add("visible"); header.lastElementChild.innerText = "-"; } else { slider.classList.remove("visible"); slider.classList.add("hidden"); header.lastElementChild.innerText = "+"; } } </script> </body> </html> ``` 这个示例中,用 `<div>` 元素实现了滑块容器和滑块头部,用 `<h2>` 元素实现了标签,用 `<span>` 元素实现了展开/收起按钮。滑块内容可以放任何 HTML 元素,它们的高度会自动适应内容。 CSS 中使用了 Flexbox 布局实现了滑块容器和滑块的垂直排列,以及滑块内容的垂直居中。同时使用了 `overflow-y: auto` 属性使得滑块容器可以滚动。 JavaScript 中使用了 `getElementById` 方法获取滑块元素和按钮元素,使用了 `classList` 属性切换滑块的可见性,并动态修改按钮的文本和样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值