728x90

 

css 선택자(selector)를 이용하여 div태그를 포함한 여러 태그에

css를 적용시키는데

자손, 후손 등 복잡하게 선택자가 들어가다보면 중간에 원하는 속성(property)가 안먹혀서 애먹은 경험들이 많이 있을 것이다

그럴 때 이 :not() selector를 사용하여 적용이 안되게끔 하면 된다

부모 Element의 style 중 특정 Element의 style이 특정 부분에 적용되지 않도록 하는 기능

.codeTest
{
	paddingt: 2%;
	background-color:blue;
}


.codeTest :not(.codeTableTest)
{
	padding:2%;
	background-color:blue;
}

 

위의 코드는 :not()을 안써서 부모 상속 때문에 코드가 적용이 안되고

아래 코드는 :not()를 사용하여 부모 상속을 무효화 했기에 패딩과 백그라운드 코드가 작동하게 된다

 

좀 더 자세한 내용은 아래에

https://www.w3.org/wiki/CSS/Selectors/pseudo-classes/:not#Pseudo-class_:not

728x90
반응형
728x90

 

부모 상속 때문에 아래처럼 사이 여백이 생겨서 원하는데로 flex 적용이 되질 않아

flex-end,start, baseline, space-around 등 이것저것 해보며 고생하던 중

부모 css와 똑같이 display: flex와 justify-content: space-between 주고

wrap을 풀고(flex-wrap: none) width를 조정하면서 원하는데로

날짜와 조회수를 나란히 약간의 간격을 주어서 배치에 성공!

 

.article .articleSubTitle {
    display: flex;
    justify-content: space-between;  /* 스페이스 비트윈 쓰면, flex-basis를 쓰고 남은 영역을 사이 여백으로 준다  */
    align-items: center;
    width: 100%;
    margin-bottom: 30px;
    padding: 2% 2%; /* 상하 좌우 : 좌우 각각 2%씩 주는 것*/
    /* padding: 0 0 0 0 상 우 하 좌 */
    /* padding: 0 0 0 상 좌우 하 */
    /* padding: 5px 하나면 사방향 */
    /* 패딩, 마진 둘 다 적용되는 것 */
    border: 1px solid #ccc;
    border-radius: 10px;
}
/* 패딩, 마진 2% 위에서 제외된 96%의 크기를 다시 100%로 환산되서 다시 65/35% 나누는 것 */
.article .articleSubTitle .articleMainTop {
    flex-basis: 60%;
}

.article .reviewDateTie {
    display: flex;
    justify-content: space-between;
    flex-wrap: none;
    width: 20%;
}

 

728x90
반응형
728x90

 

nav > a : nav태그 아래 자손인 a태그

a : hover : a태그 내용에 마우스 포인터가 가면 css 적용

    nav>a:hover{  /* 네브바 글씨 선택씨 글씨 확대 및 강조*/
        color: #F08000;
        text-shadow: 1px 1px 1px #e6a254;
        font-size: large;
    }

 

 

728x90
반응형
728x90

처음 부트스트랩을 쓰면서 가장 당황했던게 

css가 적용이 안되는 것이었다. 이틀 꼬박을 헤맸다.

공홈을 몇번을 읽었는데 무슨 소리인지 모르겠어서 환자할 것 같았다.

글을 보는 초보분이 있다면 저와 같은 당황스러움과 시간낭비 없이 효과적으로 빠르게 해결되기를 바란다

 

기존 html에 css를 적용할 때 선택자(selector) 중에 id와 class선택자를 이용해보자. 가장 쉽고 간단하다.

html의 어떤 태그에 id와 class 속성을 넣고 안에 속성값으로 원하는 이름을 지어줬으면 

얘들 이름을 호명하고 css를 적용시키는 방식이다.


여기까지는 부트스트랩도 같지만 내가 헤맸던 건 부트스트랩을 적용한 html 어디에 넣어서 적용해야할지를 몰랐던 것이다.

당황스럽게도 태그 안 속성 class="" 안에 지정해주는 것이다. 아래는 나의 진행 중인 프로젝트 파일 css이다

 

 

아래처럼 class선택자를 사용하여 class 속성값 "" 안에  클래스명을 지정하면 css가 먹힌다

주의할 점은 태그 마다 먹히는 css가 있고 아니니 부딪혀보자

백그라운드 컬러가 안먹힌다던가 볼드만 먹힌다던가 등등 이런식이다

 

728x90
반응형

'웹 관련 > Bootstrap' 카테고리의 다른 글

[Bootstrap] 페이지네이션(Pagination)  (0) 2022.05.02
728x90

 

 

<jquery 연결방식 4가지>
1)jQuery 명시
2) $ 명시
3) jQuery 명시 + 생략 (다큐먼트부터 레디까지는 생략가능)
4) $ + 생략

 

<선택자 종류>
1) 전체 선택자 : *                          
2) 태그 선택자 :  <tag>                    
3) 아이디 선택자 :  #                      
4) 클래스 선택자 :  .                      
5) 자식선택자, 후손선택자 : >, (공백)        
6) 속성 선택자 : [ ]

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>01_JQuery_prac</title>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>


</head>
<body>


    <script>
    // $가 보이면 제이쿼리
    $(document).ready(function(){
        $('#ol-connect').css('backgroundColor','gray');
    });

    </script>

<h3>$(document).ready()</h3>
<p id="p-ready">
    페이지를 로드한 후 ready메소드 실행 = JavaScript의 window.onload()<br>
  
    ※ JS의 window.onload속성 vs Query의 $(document).ready() 차이 ※ 
    자바스크립트의 window.onload속성은 여러 개 설정 시 마지막에 쓴 것으로 덮어써짐<br>
    jQuery의 $(document).ready()는 여러 개 설정하면 모두 연달아 실행 <br>

</p>
    
    <script>

        // jquery 연결방식 4가지
        // 1)jQuery 명시
        jQuery(document).ready(function(){
            $('#p-ready').css('border','2px dashed blue');
        });

        // 2) $ 명시
        $(document).ready(function(){
            $('#p-ready').css('color','red');
        });

        // 3) jQuery 명시 + 생략 (다큐먼트부터 레디까지는 생략가능)
        jQuery(function(){
            $('#p-ready').css('font-weight','bold');
        });
        // 4) $ + 생략
        jQuery(function(){
            $('#p-ready').css('font-family','궁서체');
        });

    </script>



    <h2 >선택자와 메소드</h2>
    <p>선택자를 지정하고 메소드를 통해 jQuery적용<br>

        <br>선택자 종류<br>
        1) 전체 선택자 : *                          <br>
        2) 태그 선택자 :  <tag>                     <br>
        3) 아이디 선택자 :  #                       <br>
        4) 클래스 선택자 :  .                       <br>   
        5) 자식선택자, 후손선택자 : >, (공백)        <br>
        6) 속성 선택자 : [ ]                        <br>   


    </p>
    <div>
      <ul>
         <li>치킨</li>
         <li>불고기 피자</li>
         <li>치즈 피자</li>
         <li>파인애플 피자</li>
         <li>콤비네이션 피자</li>
      </ul>
      <h3>KH피자#</h3>
    </div>
   
    <label style="border: dashed;">이름 : </label><input type="text" id="name" name="name" class="order"><br>

    <label>주문 비밀번호 : </label><input type="password" id="pwd" name="pwd" class="order important"><br>

    <label>핸드폰번호 : </label>
    <input type="number" name="number1">-<input type="number" name="number2">-<input type="number" name="number3"><br>

    <label>주소 : </label>
    <input type="text" id="addr" name="addr" class="order" size=80><br>

    <label>치킨 주문 : </label>
    <input type="text" id="chicken" class="order" list="chickenList">
    <datalist id="chickenList">
        <option value="original">후라이드 치킨</option>
        <option value="source">양념 치킨</option>
        <option value="half">후라이드 반 양념 반</option>
    </datalist><br>

   <label>피자주문 : </label>
   <input type="checkbox" name="pizza">불고기 피자 &nbsp;&nbsp;
   <input type="checkbox" name="pizza">치즈 피자 &nbsp;&nbsp;
   <input type="checkbox" name="pizza">파인애플 피자 &nbsp;&nbsp;
   <input type="checkbox" name="pizza">콤비네이션 피자 <br>
   
   <label>일회용품 : </label>
   <input type="radio" name="product1" id="need" checked>필요함 &nbsp;&nbsp; 
   <input type="radio" name="product1" id="noneed">필요하지 않음<br>
   
   <label>파일 : </label><input type="file"><br>
   <label>이미지 : </label><input type="image" src="../images/flower1.PNG" height="200px"><br>
   

   <br>
   
   <input type="button" value="클릭">
   <input type="submit" value="제출">
   <input type="reset" value="리셋"><br>
   <input type="text" disabled><input type="button" value="비활성화" disabled>
   
   <br><br>
   
   <table>
      <tr><th>이름</th><th>혈액형</th><th>고향</th></tr>
      <tr><td>강건강</td><td>B형</td><td>광주</td></tr>
      <tr><td><a>남나눔</a></td><td>AB형</td><td>담양</td></tr>
      <tr><td><a href="#">도대담</a></td><td>A형</td><td>서울</td></tr>
      <tr><td>류라라</td><td>B형</td><td>천안</td></tr>
      <tr><td>문미미</td><td>O형</td><td>서울</td></tr>
      <tr><td>박보배</td><td>A형</td><td>담양</td></tr>
      <tr><td colspan="2">총원</td><td>6</td></tr>
   </table>   


   

   <script>
        $(function(){
            // 선택자 종류
            // 1) 전체 선택자 : *
            // 2) 태그 선택자 :  <tag>
            // 3) 아이디 선택자 :  # 
            // 4) 클래스 선택자 :  .
            // 5) 자식선택자, 후손선택자 : >, (공백)
            // 6) 속성 선택자 : [ ]


            // 1)전체선택자 : *
            // $('*').css('color','white'); // 다 화이트로 바뀜
            // css() : 스타일 적용 & 확인가능. 문서 객체의 스타일을 검사하거나 변경할 때 사용
            // 스타일 검사? 의미?

             console.log($('*').css('font'));   // 16px "Malgun Gothic"
          
            // 2) 태그 선택자 :  <tag>
            // 여러개 지정 가능. 쉼표로 잇기
            // $('li').css('backgroundColor','#f05515');
            // $(document).ready(function(){
            //     $('li').css('background','#ff0');   //  $(document).ready() 적용
            }).css('backgroundColor','blue');
            jQuery(document).ready(function(){      //  jQuery(document).ready() w적용
                $('p').css('font','20px bold');
            });
            $('p,h3').css('font-size','20px');
            jQuery(document).ready(function(){
                $('td').css('font','30px bold','color','white');
            })
            


            
            // 3) 아이디 선택자 :  # 
     

            // attr() : 문서 객체의 특정 속성값을 알아내거나 추가할 때 사용 
            // css처럼 어떤 값을 지정할 수 있지만 속성 이름만 가지고 불러올 수 있는 것처럼
            // 얘도 지정할 수 있지만 불러올 수도 있음


            console.log($('#name').attr('placeholder'));// 아이디를 지정하세요 // 어떤값들이 있는가 조회 한 것
            console.log($('#name').attr('id'));   // name -> id 속성의 밸류값을 알려줌 : id="name"
            console.log($('#name').attr('type')); // text -> type속성의 밸류값을 알려줌 : type="text"
            console.log($('#name').attr('size')); // undefined 없는속성가져오면뜸 // undefined : 없는 속성인데 호출하면 undefined 뜸
            
            
            $('input:checkbox').prop('checked', true);  

            $('#name').attr('size',50);    // size 추가 
            $('#name').attr('style','display inline-block');    // size 추가 
            $('#name').attr('width','500');    // size 추가 
            $('#name').attr('onclick');    // input태그가 아니라 안먹힘
            $('#name').attr('style','border dashed');    // worked
            $('#name').removeAttr('width');


            // //.removeAttr() : 속성 삭제
            $('#name').removeAttr('size');  // size 삭제 
               
           
            // 4) 클래스 선택자 :  .
            $('.order').css('color','green');
            $('.order').css('border','5px groove');
            
            $('.order.important').css('background','rgba(0,0,255,0.1)'); // class="order important" 한줄에만 적용 // class 두개 선언됨

            $('.order').css('background','rgba(0,0,255,0.9)');      // class="order"와 class="order important" 포함하여 둘 다 적용
            $('.order.important').css('background','tomato');    // 윗줄에서 order들어간 클래스 전부 파란색으로 바뀌었다가 class="order important"줄만 토마토색으로 다시 overwrite
            

            // 5) 자식선택자, 후손선택자 : >, (공백)
            $('div>h3').css('border','dashed');     // div(미포함) 아래 h3인 KH피자에 적용
            $('div h3').css('border','dashed 5px'); // div(미포함) 아래 h3인 KH피자에 적용
            $('div ul').css('border','dashed 5px'); // div(미포함) 아래 h3와  ul(포함) 아래 li까지 적용
            
            $('div li').css('background','tomato');  // div(미포함) 아래 h3와  ul(포함) 아래 li까지 적용
            $('div>h3').css('color', 'brown');
            $('div li').css('color', 'orange'); // js와 동일


            
            // 6) 속성 선택자 : [ ]
            $('input[size]').css('background','yellowgreen');
            $('input[type=number]').attr('placeholder','번호 필수 입력');
            $('input[class~=important]').val('12345');  // ~= : important 포함해야하는데 구분자가 존재하기에 띄어쓰기로 구분했을 때 임포턴트가 들어가 있어도 조건에 부합
            // val() : value에 값을 설정하거나 value 값을 확인할 때 사용 (= js의 value랑 동일)
                
            console.log($('input[class~=important]').val());

            // *= : 특정값을 포함하는 것에 조건 적용
            // ^= : 특정값으로 시작하는 것에 조건 적용
            // $= : 특정값으로 끝나는 것에 조건 적용        
            $('input[name*=d]').css('background','pink');           // 특정값을 포함하고있는거 다 , d라는게 안에 들어가있는 
            $('input[name^=n]').css('background','skyblue');        // n으로 시작하는것
            $('input[name^=der]').css('background','rgba(0,100,0,0.1)');    // der로 끝나는것
            

            $('input:text').css('background', 'white');         // 'input:text'       input type이 text인것
            $('input:password').css('background', 'gold');  // 'input:password'   input type이 password인것   
            $('input:checkbox').prop('checked', true);      // 'input:checkbox'
            // prop() : 속성값의 여부를 true/ false로 설정하거나 알아냄
        

    });
    </script>
728x90
반응형

+ Recent posts