Table des matières
2.1 使用:not()给导航条添加间隔线
2.2 给body元素增加Line-Height属性
2.3 任意元素垂直居中
2.4 逗号分隔的列表
2.5 在nth-child中使用负数
2.6 使用svg图标
2.7 文本显示优化
2.8 在Pure CSS Sliders中使用max-height
2.9 初始化box-sizing
2.10 表格单元格等宽
2.11 使用Flexbox摆脱各种Margin Hacks
2.12 给空连接使用属性选择符
Maison interface Web tutoriel HTML 提高您CSS开发能力的技巧集_html/css_WEB-ITnose

提高您CSS开发能力的技巧集_html/css_WEB-ITnose

Jun 24, 2016 am 11:35 AM

0. 目录

  • 目录
  • 引言
  • 正文
  • 1 使用not给导航条添加间隔线
  • 2 给body元素增加Line-Height属性
  • 3 任意元素垂直居中
  • 4 逗号分隔的列表
  • 5 在nth-child中使用负数
  • 6 使用svg图标
  • 7 文本显示优化
  • 8 在Pure CSS Sliders中使用max-height
  • 9 初始化box-sizing
  • 10 表格单元格等宽
  • 11 使用Flexbox摆脱各种Margin Hacks
  • 12 给空连接使用属性选择符
  • 声明
  • 1. 引言

    原文:github的A collection of useful CSS protips
    译者:爱前端乐分享的FedFun,意译为主不当之处,欢迎指正!
    译言:提高您CSS开发能力的技巧集,希望对大家有所帮助。

    2. 正文

    2.1 使用:not()给导航条添加间隔线

    我们通常使用如下代码给导航条增加间隔线

    /* add border */.nav li { border-right: 1px solid #666;}/* remove border */.nav li:last-child { border-right: none;}
    Copier après la connexion

    现在,我们可以使用:not()选择符简化操作,代码简洁易读,不错吧。

    .nav li:not(:last-child) { border-right: 1px solid #666;}
    Copier après la connexion

    或者,我们增加左边框。

    .nav li:first-child ~ li { border-left: 1px solid #666;}
    Copier après la connexion

    2.2 给body元素增加Line-Height属性

    我们不需要给每个p、h1元素设置line-height,只需要给body元素设置,其他文本元素会自动继承body的特性。

    body { line-height: 1;}
    Copier après la connexion

    2.3 任意元素垂直居中

    不是黑魔法,确实可以让任意元素垂直居中。

    html, body { height: 100%; margin: 0;}body { -webkit-align-items: center;  -ms-flex-align: center;  align-items: center; display: -webkit-flex; display: flex;}
    Copier après la connexion

    2.4 逗号分隔的列表

    让html列表貌似现实中逗号分隔的列表

    ul > li:not(:last-child)::after { content: ",";}
    Copier après la connexion

    2.5 在nth-child中使用负数

    在css的nth-child中使用负数选择1~n条记录。

    li { display: none;}/* select items 1 through 3 and display them */li:nth-child(-n+3) { display: block;}
    Copier après la connexion

    2.6 使用svg图标

    没有理由不使用svg图标,在大多数分辨率和浏览器里能够实现缩放,甚至兼容到IE9,所以不用再用.png、.gif等等。

    .logo { background: url("logo.svg");}
    Copier après la connexion

    2.7 文本显示优化

    一些字体不能再所有设备中最优展示,所以需要设置。

    html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}
    Copier après la connexion

    注意optimizeLegibility属性值的使用问题,同时IE/Edge不支持text-rendering。

    2.8 在Pure CSS Sliders中使用max-height

    使用max-height实现隐藏、显示的动画。

    .slider ul { max-height: 0; overlow: hidden;}.slider:hover ul { max-height: 1000px; transition: .3s ease;}
    Copier après la connexion

    参见本博《Auto值的CSS3 Transition解决方案》

    2.9 初始化box-sizing

    从html中继承box-sizing属性,这样的话,后期维护比较方便。

    html { box-sizing: border-box;}*, *:before, *:after { box-sizing: inherit;}
    Copier après la connexion

    2.10 表格单元格等宽

    .calendar { table-layout: fixed;}
    Copier après la connexion

    2.11 使用Flexbox摆脱各种Margin Hacks

    在实现侧栏时,我们不再需要各种nth-、first-和last-child等设置margin,可以使用Flexbox轻松实现均匀分布。

    .list { display: flex; justify-content: space-between;}.list .person { flex-basis: 23%;}
    Copier après la connexion

    2.12 给空连接使用属性选择符

    对于那些拥有href属性但是内容为空的a,自动添加内容。

    a[href^="http"]:empty::before { content: attr(href);}
    Copier après la connexion

    非常方便,是吧。

    3. 声明
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    HTML est-il facile à apprendre pour les débutants? HTML est-il facile à apprendre pour les débutants? Apr 07, 2025 am 12:11 AM

    HTML convient aux débutants car il est simple et facile à apprendre et peut rapidement voir les résultats. 1) La courbe d'apprentissage de HTML est fluide et facile à démarrer. 2) Il suffit de maîtriser les balises de base pour commencer à créer des pages Web. 3) Flexibilité élevée et peut être utilisée en combinaison avec CSS et JavaScript. 4) Les ressources d'apprentissage riches et les outils modernes soutiennent le processus d'apprentissage.

    Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

    HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

    Comprendre HTML, CSS et JavaScript: un guide pour débutant Comprendre HTML, CSS et JavaScript: un guide pour débutant Apr 12, 2025 am 12:02 AM

    WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

    Quel est un exemple d'une balise de départ dans HTML? Quel est un exemple d'une balise de départ dans HTML? Apr 06, 2025 am 12:04 AM

    Anexampleofastartingtaginhtmlis, qui abinginsaparagraph.startingtagsaressentialtinhtmlastheyinitiateelements, définit les éventualités, et la faculté de réduction des pages et de la construction de la création.

    Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Apr 04, 2025 pm 11:54 PM

    GiteEpages STATIQUE Le déploiement du site Web a échoué: 404 Dépannage des erreurs et résolution lors de l'utilisation de Gitee ...

    Comment implémenter la disposition adaptative de la position de l'axe y dans l'annotation Web? Comment implémenter la disposition adaptative de la position de l'axe y dans l'annotation Web? Apr 04, 2025 pm 11:30 PM

    L'algorithme adaptatif de la position de l'axe y pour la fonction d'annotation Web Cet article explorera comment implémenter des fonctions d'annotation similaires aux documents de mots, en particulier comment gérer l'intervalle entre les annotations ...

    HTML, CSS et JavaScript: outils essentiels pour les développeurs Web HTML, CSS et JavaScript: outils essentiels pour les développeurs Web Apr 09, 2025 am 12:12 AM

    HTML, CSS et JavaScript sont les trois piliers du développement Web. 1. HTML définit la structure de la page Web et utilise des balises telles que, etc. 2. CSS contrôle le style de page Web, en utilisant des sélecteurs et des attributs tels que la couleur, la taille de la police, etc. 3. JavaScript réalise les effets dynamiques et l'interaction, par la surveillance des événements et les opérations DOM.

    Comment utiliser CSS3 et JavaScript pour réaliser l'effet de la diffusion et de l'agrandissement des images environnantes après avoir cliqué? Comment utiliser CSS3 et JavaScript pour réaliser l'effet de la diffusion et de l'agrandissement des images environnantes après avoir cliqué? Apr 05, 2025 am 06:15 AM

    Pour obtenir l'effet de la diffusion et de l'élargissement des images environnantes après avoir cliqué sur l'image, de nombreuses conceptions Web doivent obtenir un effet interactif: cliquez sur une certaine image pour faire les environs ...

    See all articles